In the PHPCR implementation using Doctrine DBAL we support search queries by converting the SQL2/QOM statements into XPath queries that we run on the XML stored in an RDBMS. Sounds insane, yes .. but it works pretty well .. obviously will not scale very well .. but it works for smaller data sets and there will be ways to improve performance later. In terms of functionality we have everything working quite well including JOIN support that was added recently.
However we are stuck with multivalue queries. What makes it particularly tricky is that we do not know which properties are multivalue and which are not as illustrated by these tests.
As you can see in the test we have a multivalue property "tags" and in the SQL2 statement we want to test if that multivalue property contains both "foo" and "bar". However inside the query engine we do not know that this property is multivalued or not.
You can find some more information here:
Phix is a tool for creating and managing PHP components and tools and releasing them as PEAR packages.
I’ve pushed out Phix 0.16.0 this evening, with the following changes:
- phing build-vendor now removes the component’s own code from the vendor/ folder. (We build the vendor/ folder using PEAR, which installs the component into the vendor/ folder … sigh)
- An update to Phing changed the default behaviour of the <fileset> tag, breaking backwards-compatibility. I’ve updated our build.xml file to make the <fileset> tag revert back to its original behaviour.
To update your copy of Phix, please run:
pear upgrade phix/phix4componentdev
Any problems, please let me know.
- Last week I spoke at php[tek] 2013 where I explained to people how to get started with Selenium IDE to record user interaction with the web interface, convert them to PHPUnit testcases and automatically execute them on multiple browsers on multiple platforms.The feedback I got was awesome, you're all a great crowd! But on twitter I also received a bunch of questions regarding how to set up multiple platforms and why I used Windows in my presentation to deploy to.So today I deceided it was time to write a full article on this subject.
What is Selenium?Selenium is a tool that allows you to continuously test user interfaces of web applications. The most common usages for Selenium testing are the following:
In general we call these type of tests User Acceptance Tests or UAT and are all focused from the point of the end-user, the person using the web interface to accomplish a certain goal.
- testing elements are (not) on the web interface
- users can't break out a certain flow on the web interface
- calculated values are correct after modification
- errors appear on screen when mistakes are made by users
- reported issues are valid
DisclaimerSelenium tests are in no way a replacement for regular unit tests. Their focus is on generated output of your web application within a browser. Unit tests are still necessary to ensure the logic of your application is not broken when making modifications or adding new functionality!
Setting things up
Truncated by Planet PHP, read more at the original (another 36325 bytes)