Help Ukrainian Ukraine economy and refugees by hiring Ukrainian Software Developers - we donate a lot to charities and volunteer foundations


PHP Digest: may-21-2013

PHP Digest: may-21-2013
Table of Contents

    News and Releases:

    1. Zend Framework 2.2.0 released — the release brought several long-awaited innovations, such as dynamic DDL queries and a lot of other improvements.
    2. Google App Engine now supports PHP — it was just a rumor a fortnight ago, but fortunately the information is confirmed. First there was a post in the developers' blog, and then Google App Engine for PHP was officially introduced at Google I/O 2013. The record can be found here. So, PHP support is implemented in the cloud PaaS-hosting from Google. An interpreter is based on PHP 5.4 (phpinfo), but write file system access is denied as Google Cloud Storage is supposed to be used. There is also a number of other restrictions. In addition, JetBrains immediately announced support for Google App Engine in PhpStorm. And there is even a small example of using GAE together with Silex.
    3. PHP 5.5.0RC1 is already available — as promised earlier, on 9th May, PHP development team announced the first release candidate. RC2 is scheduled on 23rd May and only then the final release is awaited.
    4. PHP 5.4.15 and PHP 5.3.25. are released — as usual we have a number of bug fixes and all users are advised to upgrade.
    5. Web&PHP May 2013 Issue 14 — the issue covers the following topics: Time Travel with Git; Using PHPCR; Practical tips to create a community of developers, Data Modeling, Sprint retrospectives and much more.
    6. PuPHPet - a simple to use Vagrant/Puppet GUI configuratora great tool that allows you to configure all the necessary settings for the virtual working machine: OS, installation software, Apache, PHP, MySQL configuration. The result is the ready-made configuration for Vagrant and an ability to set up the workstation by a single team. The code of the tool is available on GitHub.


    1. Static code analysis tools for PHP — an excellent overview of the static code analysis tools available in PHP, including both already familiar Mess Detector and Code Sniffer, as well as less well-known PHP Analyzer and a set of tools from Facebook called Pfff.
    2. Hacking PHP syntax — a good tutorial for C beginners that gives a hint how to change a language syntax when necessary. With a minor hack of Zend Engine the author easily changes the syntax of class declaration.
    3. PHP is meant to die — the author of the post argues the case how insolvent PHP is when the script must work continuously and for long.
    4. Functional Programming – how to write functional code in PHP — it is already much talked about the functional programming in PHP here and here. Let's add one more little post to this list.
    5. Examples of anonymous functions available from PHP 5.3 — anonymous functions called closures are used to create functions without any specified name. Also they can be used as the values of variables. More details with examples are in this post.

    Training Materials:

      1. PHP5.5 new features — if you were not following the news about PHP 5.5, we suggest you to check out the slides from Julien Pauli, the release manager of this version.
      2. Yii 2 public preview — Yii 2 public preview caused enormous interest in the community that was satisfied by enormous number of posts and comments. The link leads to an overview of the innovative features which differ the current version from Yii 1.1.
      3. Zend Framework 2 - Hydrators, Models and Table Gateways — in the post, the author talks how to build decoupled from data source models using the specified ZF2 components.
      4. PHP Framework Bluz — an excellent PHP-micro-framework that includes the latest PHP features and the best development practices.
      5. Zend PHP webinars — Zend website always contains records of the past webinars, for instance, writing service components in ZF2.
      6. How to create testable and maintainable code in PHP — a good tutorial, which shows what should be avoided when writing code and what not. What have to be used in the code to write unit tests, and thus to make the code more reliable.
      7. Implementation of server side for web sockets with an Apache/PHP app — the author of the post described the problems and difficulties occurred when implementing the server side for web sockets in PHP.
      8. Security disclosures in consumable formats — based on the PHP-FIG discussions, the author of the post states that the security problems in the components and libraries should be made public in a standardized format as soon as possible and vulnerability data should be submitted to a centralized Github repository through pull requests as well as to automate checking with SensioLabs Security Checker.
      9. Getting started with PHP Zend framework 2 for Oracle DB — the post shows how to change the application from the tutorial on ZF2 so to use Oracle database as a repository.
      10. ZendService_Api - a micro HTTP framework to consume generic API calls in PHP — this library is hardly to be called as a micro-framework, but nevertheless the author created a good tool based on ZF2 components which can be used to "contact" different APIs.
      11. Compiling PHP 5.5 from scratch — do you want to have the latest version of PHP for your platform? Follow the instructions in the post, install the necessary dependencies and compile PHP on your own.
      12. Improve PHP session cookie security — the author of the post describes a few options of PHP configuration (session.cookie_httponly, session.use_only_cookies, session.cookie_secure) which will secure the sessions.
      13. Maven and PHP — a good tutorial on how to use the traditional in Java world automation tool in order to build PHP projects. Phing, the analogue of Apache Ant, another popular Java-tool, was mentioned more than once in the previous issues of the digest.
      14. Composer and PSR-0 are friends, but not relatives — a great post where the author explains that there is not one and there should not be any direct link between the PSR-0 and Composer.
      15. Specification or Testing: the comparison of Behat and Codeception — author of the post talks about the difference between functional and acceptance testing, as well as why he prefers Codeception instead of Behat.
      16. Our failure as an industry — author of the post provides an overview of the current situation in the web development. He states that despite the availability of many different and powerful modern tools, in general the industry is focused on development of safe solutions. Thus, a commonly used approach of passing the buck should be stopped. Be responsible.
      17. Slides: Behat & beautiful APIs — actually there are slides on BDD with Behat webinar (PDF) as well as the report on API design (PDF).
      18. Boris - a small but reliable REPL for php — recently we have already mentioned this tool in one of the issues of our digest, this time we provide you with a more detailed overview.
      19. Is Phalcon the promised land for PHP? — responding to Anthony Ferrara's skepticism concerning PECL-frameworks, the author of the post states that such PHP frameworks as Phalcon can really seriously affect the progress of the "game".
      20. Stop avoiding regular expressions — a short note how comfortable the use of regular expressions can be.
      21. Offline processing in PHP with Advanced Queuing — a tutorial how to use Oracle Streams Advanced Queuing.
      22. Using Grep to find security vulnerabilities in PHP code — the post shows us how to find simple vulnerabilities in code by searching for potentially hazardous structures.
      23. Responsible Silex controllers — the author of the post created a small component for Silex, which automatically returns data to the client in the format they were requested. It is easy to implement API with it.
      24. Understanding HTTP digest access authentication — the post describes the principles of digest authentication and provides an example of implementation in PHP.
      25. Ruckusing migrations — a tool that implements migrations in PHP. Note that there is one more quite good standalone-implementation of migrations in PHP called Phinx.
      26. Google App Engine, PHP and Silex. Setting up a login provider — Google has just announced PHP support in GAE, but we already have a small example with the use of Silex micro-framework.
      27. Learn PHPixie in half an hour — a good tutorial on PHPixie – a fast and easy micro-framework.
    1. PHP [tek] 2013 slides — a season of conferences is in full swing. A four-day conference devoted to PHP was held in Chicago recently. The link leads to the slides of 42 reports presented at the conference.
    image description

    Roman Korzh

    VP of Development

    image description

    Anna Slipets

    Business Development Manger

    Let's Talk