PHP Digest: Simplified Password Hashing, Creation of PHP Framework Using Symfony2 Components, Xdebug Tutorial and Much More

December 4, 2012

News and releases:

  1. PHP 5.4.9 and PHP 5.3.19 released! – All PHP users are encouraged to upgrade to PHP 5.4.9, or at least 5.3.19.
  2. Introducing MongoClient – Updated versions of most of the officially supported MongoDB drivers with new error checking and reporting defaults. A little more about the changes in the article.
  3. Security releases: symfony 1.4.20, Symfony 2.0.19 and 2.1.4 – All three releases contain a security fix.


  1. PHP the Nice Way – an excellent post, in which the author shares his experience in PHP development, talks about his mistakes and discoveries. The post is full of useful tips and advice.
  2. Supercharging PHP MySQL applications using the best API – at the moment there are three types of PHP interface to work with MySQL: ext / mysql, ext / mysqli and PDO_MySQL. In php.internals the discussion has occurred whether to remove the obsolete ext / mysql from the delivery set by default and transfer it to PECL. The author uncovers the topic in detail, providing a comprehensive comparison of three interfaces mentioned above.
  3. The Era of PHP Testing – according to the author, over the past decade, the PHP community has progressed through a handful of distinct eras: object-oriented programming and design patterns, web application security, frameworks, coding standards and code organization, and at the moment there is the stage that can be called the era of testing and continuous integration.
  4. If it's not written in PHP it's irrelePHPant! – the author humorously appeals to PHP community to make their own tools on PHP only.
  5. 3 Strange PHP Facts You May Not Know – if you have been programming in PHP for a long time, this post will be just a reminder of the non-obvious behavior of real numbers in PHP or weak typing "effects". However, if you are a beginner, these facts may be interesting for you.
  6. PHP Trends – a small application that contains a list of PHP libraries, frameworks, etc. (repositories on GitHub), sorted by popularity. A number of those who added the repository to favorites is used as the popularity index.
  7. Simplified Password Hashing – some time ago, Anthony Ferrara proposed to include a standard interface of hashing into the PHP kernel. The proposal was approved by voting upon with its further implementation and has been already included in the PHP 5.5 version. In his post the author explains the details of new features and answers the most frequently asked questions.
  8. How to call shell programs as functions with PHP – the author was inspired by Python sh and has created something similar for PHP. Using the developed tool one can do the following: $ sh-> ssh (array ('', '-p' => 1393)) -> tail (array ("/ var / log / dumb_daemon.log ", 'n' => 100)), and it would be tantamount to call: ssh 1393 tail / var / log / dumb_daemon.log-n 100 from the command line.

Training materials:

    1. Migrating to Dependency Injection – an interesting post which describes the process of a codebase migrating that does not use DI to one that does.
    2. Creating own PHP framework using symfony2 components – in Episode 11 we'll be exploring the powers of wonderfull HttpKernelInterface even further by adding even more listeners to the request. This is generally a very good way to add a new functionality, because it lets you concentrate on the single feature, test this feature, and then integrate in the flow of the request – wherever it fits. Previous episodes: 12345678910.
    3. The Single Responsibility Principle – we continue to consider the SOLID principles. This time we will focus on the letter «S». The author demonstrates the principle violation on the class example that is not only busy with user data processing, but also implements functionality to access the database. Then the author refactors the code, breaking a single class for a few new ones, each with its own responsibilities.
    4. Paradigm Soup by Anthony Ferrara – in this short video, we'll talk about the differences between Procedural, Object Oriented and Functional programming. We'll also explore what happens when these paradigms cross over each other.
    5. Encryption by Anthony Ferrara – in this video, we explore the evolution of modern cryptography and some of the basic underlying principles that it uses to keep data secure.
    6. How to act like you care about your work - a full strength version of the talk on how to be a better developer.
    7. Discover what's coming for Zend\Form in ZF 2.1 – the article is about updates component Zend \ Form in ZF 2.1 (new elements, elements manager, short names, dependencies, and totally updated files downloads).
  1. Questions and thoughts about client-side rendering from a ZF 2 developer – the author discusses rendering on the client side for the first time, comparing the rendering on the server and client, as well as analyzing the difficulties that can arise when rendering the content on the client side. He offers a solution to the identified problems and explains when one can use a client-side rendering and how you can use ZF2 for it.
  2. Debugging and Profiling PHP with Xdebug – a detailed tutorial on using the basic capabilities of Xdebug. NetBeans is used as an IDE for debugging.
  3. Improving Performance in Zend Framework 2 – there is still a small list of tips and tricks to improve the performance of applications on ZF2. The author plans to add the list permanently collecting tips and tricks from different sources.
  4. Creating a Shopping Cart Class Using Object-Oriented Programming in PHP – a detailed tutorial on how to implement a shopping cart in OOP style by Larry Ullman.
  5. Don't pull your dependencies – in this article, the author explains why in some cases it is necessary to pull the dependencies to Symfony2 and then why one should not do it in other cases.
  6. Living Apart Together: Decoupling Code and Framework – the author writes that in most cases the code of the application is highly dependent on the framework, recommending how to weaken these connections.
  7. Nginx configuration for Symfony2 – points' placement over NGINX configuration for Symfony2 applications.
  8. PHP.Kryptik.AB. Give me your FTP! – the post talks about a malware that steals passwords from FTP servers and then connecting to them, embeds malicious code into the found PHP scripts. The author describes the infection procedure, the way to disinfect the web site and how to prevent the re-infection.
  9. PHP Validation & Sanitization – the topic is not new, but nevertheless, the author describes common security threats, explains what the validation is. He provides an example of implementation with the standard extension to filter data, mentioning implementation in Symfony 2, Laravel 3, CakePHP 2 and also shares his own module for data filtering.
  10. Getters and Setters - a Magic That Should Know Its Place – the author tells us why it's not a great idea to use Getters and Setters the usual way, but explains where they are really useful.
  11. StronglyTypedJSON in PHP by __set Magic – previous post continuation about the unusual use of setters.
  12. Building a Query Builder in PHP – a short note how to build a simple Query Builder.
  13. Your first encounter with Phalcon / Part 1, 2 – Phalcon is a very recent framework on the market developed by the group of enthusiastic developers. In contrast to traditional frameworks which are written in PHP - Phalcon is a C extension to PHP interpreter itself. The first part contains description, and overview of abilities, the second one contains a simple blog- application.


  1. TYPO3 CMS 6.0 released – New version of the once popular, but in recent years continuously losing its positions, CMS is released.

Plugins releases for WordPress:

  1. bbPress – the plugin allows you to create a complete forum based on WordPress.
  2. Knews Multilingual Newsletters – the plugin allows you to create high-quality multilingual subscription.
  3. WP Subscriber Form – the plugin adds Subscription Form at the end of your post content.
  4. BackWPup – the plugin allows you to back up the database and files of your WordPress web site
  5. Theme-Check – a simple and easy way to test your theme for all the latest WordPress standards and practices.
  6. WP SlimStat – a powerful real-time web analytics plugin for WordPress.
  7. Force Password Change requires users to change their password on first login.
  8. Batcache uses Memcached to store and serve rendered pages.
  9. Edit Flow gives you custom statuses, a calendar, editorial comments, and more, all to make it much easier for your team to collaborate within WordPress.
  10. No Weak Passwords forbids the use of any password from an included list of the most easily guessable.
  11. Automatic Updater automatically updates WordPress, your themes and plugins! Never have to click the update button again!
  12. BuddyPress Media adds Photos, Music, Videos & Albums to your BuddyPress. Supports mobile devices (iPhone/iPad, etc) and automatic audio/video conversion.

Last, but not least:

  1. An awesome yet simple and pragmatic PHP library that performs an addition of two numbers.


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!