Sometimes to quickly inspect what's in object, PHP
var_dump function can be used. This will show all
object properties, including private and protected, also of all
Sometimes this is just too much to produce useful output.
Fortunately in recent PHP versions, a new magic method was added: __debugInfo. When implementing this method, it should return array with keys as object names, and it's values as values that should be displayed.
- Various attributes helpers
- Access Control Helper
- Fancytree Knockout JS binding
- Tree Grid
- HTML Editable value
Creating annotation class read
from begining to learn about
Having addendum configured, let's create annotation class. This
will allow us to use
@ notation on our project
classes. As each annotation is in fact class, which has some
simple logic to set up metadata container. This container will be
used to obtain values configured by annotations. Please not that
this values might be different than raw values on
notations. As value returned by meta container is solely
dependent on values set by annotation definition.
This way, we have opportunity to set initial logic in annotation,
thus having already prepared and cached values returned by
metadata container. To obtain access to container for currently
process class, there
getEntity is method in
annotation. This returns container instance, which can be
configured with any property required.
This approach has advantage of having visual HTML right away editable. When running in-browser acceptance tests, it is required to fill-in those values too. This can be done with
WebDriverpackage, included in main codeception package.
Sometimes when creating sortable user interface widgets, some various quirks might happen. One of these is that just after starting dragging element, it jumps of from original location. Element will move above cursor for roughly height of it's parent container minus one sortable element.
I turned out that properly styled container will remedy jumping issue. The point is to make it's overflow auto:
That's it! Now sorted item should not jump anymore. Credits goes to: http://stackoverflow.com/a/24122186/5444623
Using selenium for acceptance tests?
It usually run fine, until I got bad magic number error when trying to run any version:
invalid file (bad magic number): Exec format error
It is quite confusing message, basically it means that it cannot be executed. Solution is to execute it using java with -jar option:
java -jar selenium-server-standalone-3.0.1.jar
To make it easier, selenium bootstrap file can be created to launch it:
#!/bin/bash java -jar /usr/local/bin/selenium-server-standalone-3.0.1.jarThis file can be named, for example
/usr/local/bin/seleniumwith jar file located in same directory.
Using composer with Xdebug turned on will result in warning message, saying that Xdebug affects performance - and that's true. Composer will run much slower when used with Xdebug enabled. To overcome this issue, it is possible to disable Xdebug when using composer command.
Note that following steps are meant to be used only on development machine, do not use on production servers!
To turn on and off Xdebug, we will use bash script - which will
link or unlink Xdebug configuration - as just disabling Xdebug in
config still degrades performance.
As a lot of development effort were put into many Maslosoft's projects, this website was left behind.
Now it's time to keep up, so a highly redesigned system along with content was deployed. This includes documentation for many projects and blog You are reading now. But the most exciting part is a bit of knowledge about quite mature projects developed since... Who knows when.
As an incorrigible optimist, still creating software resulting in comfortable web editing, as it's my point of interest from ages.