PHP Digest: Yii 1.1.13, Codeception 1.5, Symfony 2.2 Beta 1, Multi-Tasking in PHP and Much More

January 14, 2013

 News and Releases:

  1. PSR-3 is adopted — The adopted standard governs a common interface for logging libraries of PHP apps. Some personal thoughts and critique of the subject.
  2. Yii 1.1.13 — Just before the New Year the recent version of the framework has been released. This release did not bring any major changes, but, nevertheless, the change log includes about 70 improvements and 50 bug fixes. A complete list is available here.
  3. Issue 10 of Web&PHP magazine — In this issue: 5 Dealy Programming sins, Database Indexing, 10 Social Media for Business Reality Checks, and many others.
  4. Codeception 1.5 — Major release of the excellent tool for testing, which includes a number of interesting features, among which CodeCoverage and Remote CodeCoverage worth to be mentioned. Besides them, there are Redis and MongoDb new modules, UX improvements and many other bug fixes.
  5. Symfony 2.2 Beta 1 — Symfony 2.2.0 Beta 1 is released. Beta release marks the end of the development phase, i.e. the new features will not be added except PSR-3 support and adding a few more discontiguous pull-requests. The final release is expected by the end of February. Read more about the new features here, here and here.


  1. Go! OOP&AOP PHP framework — Go! is a PHP 5.4 library based on OOP and AOP paradigms that can be installed in every PHP-app with no need to modify the source code of the application. Using the library, developers have ability to add AOP support to every PHP application. No PECL-extensions are necessary, as well as there is no need in Runkit, evals and DI-containers. The code is readable and native, easily debugged with XDebug. Both classes and aspects can be debugged.
  2. Multi-tasking in PHP — Excellent video presentation that discloses the subject of multitasking in PHP for solving common tasks, such as batch processing or daemons creation. The author talks about the basic concepts of multitasking systems: compares the processes and threads, forking, race conditions, semaphores and mutex objects.
  3. 2012: a Year in PHP — In the last issue we reviewed the most significant events in the world of PHP in 2012. Such a review is done by the author of the post, highlighting not only the bright events, but also the main line of development, designated during the year. The author makes assumptions concerning 2013, predicting improvement in DiC and increased use of BDD with PHPSpec and Behat. Also a small discussion with interesting predictions for PHP in 2013 is available on reddit.
  4. PHP Apps and Platform as a Service — The author briefly examines three major, in his opinion, PaaS providers for PHP solutions, namely Engine Yard / Orchestra, PagodaBox and AppFog. The author got interested in the last one more than in the others, and gave us details about the registration process, creating and configuring applications.

Training Materials:

    1. Code a Search Engine in PHP — a good post that consists of 5 parts on how to create your own search engine in clean PHP. The source code is available on GitHub.
    2. Solving Captchas PHP script — With Decaptcher's captcha solving service the author provides an example of a captcha solving class in PHP.
    3. What's New in Laravel 4 — The question when version 4 is going to be released might be one of the most frequently asked questions on Laravel. And, unfortunately, there is no specific answer yet. The stage of the framework can be described as something between pre-beta and beta version. But nevertheless, the upcoming release can be tried even now. And in the post, the author tells us about some new features and enhancements of Laravel 4.
  1. Why do some PHP Developers <3 Static APIs? - There are 10 types of developers: those who are in love with static methods because they are easy-in-use, and those who think that they came up with the devil to test the loyalty to the right programming. The author shares his experience and explains why some developers ignore the best practices and use too many static methods.
  2. Programming With Anthony — Sequel of training videos by the maestro Anthony Ferrara. This time it will be about Dependency Injection. The complete set of videos is available here.
  3. Using SSH and SFTP with PHP — a detailed tutorial on using SSH and SFTP in PHP applications using ssh2 library. Examples are included.
  4. Composer Versioning — a small post on how to use a great tool for managing dependencies on PHP, in which the author gives advice on the correct indication of versions and branches.
  5. You Need tests...just Not Yet — In the current post, the author reflects on the need to test code. And if you are still working on the implementation of details and finding out if you can get the desired result, it is possible that there is no need to test it yet.
  6. Thoughts on module directory structure — In his note the author states that the standard structure of directories in ZF2 that can be observed everywhere is just a recommendation. It is not necessary to go on with this approach, if it is clear that a different structure for your application is better. The author gives an example and recommendations on changing the directory structure.
  7. Caching Doctrine Entities with Couchbase — A detailed tutorial in which the author shows how to use Couchbase as a cache for Doctrine entities.
  8. Handling several PDO Database connections in Symfony2 through the Dependency Injection Container with PHP — A short note in which the author shows the usual way to configure multiple connections to the database in the"parameters.yml" file. Then, the author demonstrates a more advanced approach, configuring connections inside a separate file and creating a Db class, which allows you to get a fully configured and ready to use PDO objects from the container.
  9. 13 Things People Hate about Your Open Source Docs — Almost every developer has the programming code that he would like to share or has already shared with the community. However, how this code will be useful for other developers depends largely on the quality of the documentation. The post contains mistakes, most often made by developers, when documenting their own work.
  10. Why is FastCGI /w Nginx so much faster than Apache /w mod_php? — In his post, the author makes some tests on "hello world" application and tries to find out why Nginx is faster than Apache. His research has shown that exactly a processing of .htaccess files makes a significant hit to Apache performance, but its disabling (AllowOverride None) changes the situation and Apache outperforms Nginx.
  11. Build a Twitter Clone From Scratch, 2 — a couple of tutorials with detailed description how to create a full clone of Twitter from scratch. Demo and full source code are also available.
  12. PHP nonalpha tutorial — one more post by Gareth Heyes on the topic of "non-alpha PHP code". The author gets a bit more into the process and includes some basic examples showing how, using a combination of "+", "_" and "[" or "]" one can reproduce similar output to echoing out an array and use this "Array" output string in order to get to other strings (like the letter "B"). There is also one extended example how to create the string "print 1+1" and execute it with this technique.

Do you have an awesome business idea? Let’s make it real!

Join our newsletter!

Get weekly updates of the top IT news delivered straight to your inbox


Magento website development. Empower your online store!