The digest of interesting news and materials from the world of PHP over the past two weeks, number 3 (10/20/2012 - 11/02/2012)
We bring to your attention another collection with links to news and materials.
Enjoy reading!
News and Releases
PHP on mobile platforms , 2 - Andy Gutmans unveiled the veil of secrecy. Zend Studio 10 adds support for PhoneGap and drag-and-drop to create interfaces. Details can be found in the original source - recording Andy's speech at ZendCon and in the official press release from Zend.
Support period extended for Yii 1.1 - The good news is that Yii 1.1 will not be supported until the end of this year, as planned, but by the end of 2015. And this is not due to the delay of Yii 2 ( proof from samdark )
Symfony released 2.0.18 , 2.1.3 - New versions of the framework have been released and, in addition, there has been progress in the Symfony CMF project.
Faker - One of the most popular PHP repositories this week. Faker is a library for generating data very similar to real ones: names, email, addresses, phone numbers, names, etc.
A close look at arrays in PHP: What you don’t see - Surely everyone knows that arrays in PHP are implemented by a hash table. But in this excellent article, the author plunges deeper into the topic and examines this type of data under a microscope. The author shares information about the details of the device and the work of arrays in PHP: why they work that way, and not differently, how they differ from arrays in other languages ​​and talks about the features of the behavior of arrays in PHP that you might not know.
Over-abstractionism - Post-reminder for those using OOP (not just PHP developers) with a call not to fall into “re-abstraction” - excessive use of all kinds of abstractions to the detriment of simplicity.
The sinister PHP - Halloween is widely celebrated now not only in America, but also here. The author dedicated his post to this holiday, in which he gathered moments of the dreadful (but logical) behavior of PHP, as well as sinister (and, possibly, illogical) ways of using PHP.
Web developer - There is an opinion that the popularity of PHP is declining and you should think about changing the specialization. In this post, the author reflects on this topic and concludes: Do not be PHP / Python / Ruby / JavaScript / Logo / Erlang / ColdFusion / Perl / Scala / Go / AnyOther Language developer. Be a web developer.
Symfony and the terrible world of PHP - A post in which the author expresses his displeasure with the world of PHP and Symfony. “All in all, PHP is still a horrible place to be,” he sums up.
Test drive PHP 5.5 - In the post, the author does not just talk about the features expected in the new version, but also tests the practical application of some of them and even gives a test of generator performance in PHP 5.5.
Study materials
ZendCon Live - Key presentations from ZendCon, including a presentation by Andy Guttmans, in which he talks about the latest innovations. Records of all other reports are available on YouTube.
Code refactoring , 2 , 3 , 4 - An excellent cycle of 4 articles, revealing in detail the essence of refactoring as improving readability, simplifying extensibility, and improving code efficiency.
Painless PHP data crawling with FilterIterators - There are many ways to get around data, given a solid set of possible cycles: while, do while, for, and foreach. This is enough for ordinary data structures like arrays, but what if the task is somewhat more complicated and you want to do it nicely? The author provides some code that demonstrates the standard approach and then shows how, using the FilterIterator , you can extend the default crawl by adding a custom “accept” method to cut some elements from the data set.
Factory patterns: Collaborators Map - An article about a popular design pattern generator. The author talks about the advantages of using your own factories over DiC and about the approach called Collaborators Map in particular. An example is given and recommendations are given for further improvement and expansion of functionality.
Introduction to the Law of Demeter - The article describes one of the principles of software design - the law of Demeter, which can be considered a subset of the principle of loose coupling. The author writes why it is good that the components “do not know too much” about other components and how to achieve this. Examples are given.
List Files and Directories with PHP - This article discusses the task that almost every PHP developer has met: getting a list of files and directories. The author talks about several ways, each with its pluses and minuses. First, 3 approaches are presented using basic PHP functions and then more advanced methods using SPL are considered.
Database support in PHPStorm - An article appeared in the developers blog that describes the possibilities of working with databases directly from the IDE.
WPEngine - A small overview of the hosting for Wordpress sites.
WordPress Malicious Code - WordPress is incredibly popular and this naturally attracts the creators of Malvari. Errors in the kernel are less common and corrected quickly, but this cannot be said about plugins and themes. The article describes the popular "contagion", ways to detect and prevent infection.
Watu - allows you to create exams and questionnaires with an unlimited number of question and answers, to determine the score based on the results.
Ad Code Manager - allows you to manage ad codes from the WordPress admin panel.
Store Locator - if your site is supposed to display information about any locations or places, then this plugin will be a very effective solution to the problem.
Ultimate CMS is an easy-to-use and configurable plugin for creating and modifying custom posts, pages, taxonomies.
Exploit Scanner - scans the files of your site, a table of posts and comments in the database for the presence of a suspicious code. It also checks active plugins for suspicious file names.
And finally
“PHP needs a volunteer,”Rasmus writes on his Twitter account. The PHP project needs a volunteer to work on the merchandising program and the first task is to find the email Rasmus and write to him.