The digest of interesting news and materials from the world of PHP for the last two weeks No. 6 (12/01/2012 - 12/14/2012)

    We bring to your attention the next selection with links to news and materials.

    Enjoy reading!

    News and Releases


    • Under the hood of objects in PHP - Great article detailing all the features of the internal implementation of objects in PHP. The author talks in detail about the life cycle of an object, how objects are stored in memory, what '$ this' is, and much more.
    • Why do many people hate PHP? - The author gives a detailed answer to this question, highlighting several main reasons and answering in detail for each item. The reasons, according to the author, are the following: inconsistent signatures, PHP is HTML with logic, lack of standards, lack of packages (dependency manager), ignorance of the current state of PHP, elitism ("not using PHP is cool").
    • Why I refused the coding standards - In his post, the author gives reasons why he decided to abandon the coding standards, and also calls on other developers to review the processes and, possibly, follow his example.
    • How much memory do objects consume in PHP and is it worth using the 64-bit version? - An excellent study published on Habré, according to the results of which it is obvious that the use of a 64-bit version of PHP is not always justified.

    Learning Materials

    • Speeding up PHP development with HipHop VM - At the end of 2011, Facebook guys announced the release of the Hip-Hop virtual machine that implements the JIT compilation approach for PHP. This post talks about the latest updates to the Hip-Hop VM, as well as some details of the virtual machine architecture and optimization strategies.
    • Standard PHP Library (SPL) - Part 1: Data Structures - Good overview of SPL on Habré. We look forward to continuing.
    • An example of an entire application in Phalcon PHP - Demonstration of a full-fledged web application written entirely in PHP framework, delivered as a native extension. In this example, the authors implemented a music library and demonstrate the framework with a large amount of data:> 5,000 Artists,> 50,000 Albums,> 30,000 Tags,> 100,000 Tracks> 200,000 Photos. Demo and code .
    • About templating - A look at templating in web applications. The author gives a brief overview of past templating in PHP, and then talks about more modern tools, such as Mustache and their advantages.
    • Iterator for data providers in Yii - A useful recipe for using CDataProviderIterator for data providers when it becomes necessary to process large amounts of data, but it is not possible to load all the data directly into memory.
    • Metaprogramming in PHP - In the post, the author determines which tasks metaprogramming can solve and which ones are not, as well as which tools should be used in PHP to solve them.
    • Dependency injection in PHP - A simple and understandable article that describes what Dependency Injection is. An example of refactoring using DI is given, advantages and typical use cases are listed.
    • References - Continuation of a series of videos from Anthony Ferrara. This time, variables and links in PHP, their internal structure are considered.
    • Prepared Statements - In this video, Anthony Ferrara talks about the basic principles of Prepared Statements and the benefits of using them. The whole series.
    • Inversion of control - In this post, the author explains in detail what Inversion of Control is. First dots over the connection between DI and IoC, and then, using the example of a blog, shows the advantages of using inverse control.
    • Handling a connection using the MongoDB driver for PHP - This article discusses the recently released MongoDB driver version 1.3 for PHP. Comparison with connection processing in the previous version is given; advanced features of the new driver are considered. Practical examples in PHP are considered.
    • We send letters using Swift Mailer - A simple example of using the basic features (sending text, letters with the application, template) of a well-known library for sending letters.
    • Automating builds with scripts in Composer - Composer is a great tool for managing dependencies in PHP. But that’s not all that he can do! This article shows how you can use Composer as a simple tool to automate assembly.
    • Silex Love Story - 'Embedded' PHP - The author talks about his first experience using the Silex PHP microframework. A real example shows how the code evolved during the development of the project.
    • Automation using MySQL triggers - Although many people consider the transfer of application logic to database triggers a bad idea, nevertheless, there are a number of cases where their use is justified and helps to solve tasks easier. This article talks about triggers, and gives examples of use.
    • PHP errors: classification, examples, processing - If you are an experienced developer, then this article from Habr will help to structure knowledge. If you have been working with PHP not so long ago, then this post will provide an exhaustive amount of information on the topic of errors in PHP.
    • 5 things CodeIgniter does not know how - In a post, the author lists and describes 5 main features that are present in almost any modern PHP framework, but which are not yet in CodeIniter: namespaces, startup, unit tests, migrations, and an abstract database layer.
    • PHPitfalls - In a post, the author accumulated his experience with PHP and provided many useful recommendations for developers.
    • Cross-domain AJAX guide - In a post, the author talks about three main ways to implement cross-domain requests, as well as some of the nuances of each: CORS, JSONP, Iframe.
    • Private methods - for or against? - A whole discussion has broken out on this topic. In response to his post, the author received a wave of comments, including a response post from Anthony Ferrara . After which the author wrote another post in his defense . And then, a well-known figure in the Drupal scene, Larry Garfield presented his own opinion on this issue .
    • Tweetable PHP-Non Alpha - An interesting experiment in which the author writes a PHP script without the use of numeric and alphabetic characters.
    • The Underground PHP and Oracle Manual - The guys from Oracle updated and posted an excellent free book that contains unique material on the OCI8 PHP extension for working with the Oracle database, as well as on other components from the PHP-Oracle ecosystem. The book shows PHP developers how to use PHP and Oracle together simply and efficiently.

    CMS / CMF

    Link to the previous issue.
    Material prepared by dbritan , nesttor and pronskiy

    Also popular now: