9 wrz 2016

The beginnings of PHP vol. 2


In 2002, Zeev Suraski and Andi Gutmans again began a major modernization of the PHP engine with the aim of adding to the language object model of the real event. In February 2003 he released the first alpha version of a new version of PHP marked as 5.0.0. The stable version was released almost a year and half later, in July 2004. News meant that PHP can now compete with other server-side solutions, as equals. He appeared completely new model of object-oriented programming, which unfortunately was lost some compatibility with previous versions of PHP. This is due to the changes in the representation of objects. In earlier versions, the object was also variable, making it very difficult, therefore, version 5 on the model of the Java object variable has become the only reference to the relevant object. Currently assignment operation creates other references pointing to the same object. They rebuilt many modules, including support for XML and database communication, making it more friendly for developers. In addition, the available set of interfaces that greatly extend the possibilities for user classes [7]. There were also changes and innovations in the system of PHP modules. Features XML support has been rewritten and integrated directly into the core application. In addition to the tools that support DOM available SimpleXML - simple interface to modify XML documents. SQLite introduces new default "compiled" database engine [8]. November 24, 2005 was released version 5.1, which appeared PDO - unified driver and a preprocessor requests for communication with various database systems. The next version - 5.2, occurred on 2 November 2006 and was focused on the expansion of mechanisms of input / output (supports ZIP format and JSON input filters, watching the progress of file transfer), and memory management [9]. The last of this branch was to release 5.2.16 [10], aiming to end a period of official support for PHP 5.2. January 6, 2011; 5 years ago was issued, however, version 5.2.17, which fixes a bug that could cause suspension server [11].

June 30, 2009 was issued PHP 5.3 [12]. The main changes include the introduction in service namespace. There is also a lambda expression and so. closure (known languages ​​such as JavaScript, Ruby or Lisp). In addition, refined service is also static methods and improved the operation of PHP on Windows introducing compilations VC9 and experimental versions of the x64 binary. In addition, a mysqlnd - optional PHP native replacement for libmysql and corrected a lot of mistakes.

In mid-2005, they began to appear in official signals that commenced preliminary work on PHP 6. Currently, the public are available daily snapshots development source code repository, which can be downloaded and tested. The main objective is to continue to strive to unify the project, the introduction of further possibilities required for complex projects (including full support unicode or system caching code). They are removed or another archaic solutions dating back to the days of PHP / FI and PHP3, which in the case of the oldest scripts again will cause compatibility problems. The changes focused primarily on the built-in language support Unicode, further improvements of the object model and the withdrawal of service selected, outdated solutions [13] [14] [15].

Protracted work on PHP 6 meant that some of the previously planned expansion, such as the introduction of namespaces and anonymous functions, already included in earlier versions, creating a branch 5.3. Finally, in March 2010, the development of version 6.0 so far has been officially suspended due to lack of progress in the implementation of Unicode and internal disputes among the leading developers [16] [17]. Accordingly, the branch of the trunk, where the hitherto continued development of PHP 6 has been archived, and then reactivated based 5.3.0. In later months, it was decided that the next new edition will wear number 5.4 [18].


Work on a new major release of PHP, called PHP 7 officially started in 2014. Among the artists erupted discussions on the name of the next release of PHP. Although the experimental version of PHP 6, which aimed to introduce support for Unicode, was never released, many articles and books referred to the old name PHP 6. This could lead to misunderstandings, if the new edition, containing other functions, and incorporating support for Unicode also called PHP 6. [19] As a result of the voting was chosen the name PHP 7 [20].

PHP base 7 has become the experimental branch, originally called PHPNG (PHP Next Generation), designed to optimize the performance of PHP refactoring Zend Engine, while maintaining almost total compliance language. Starting from 14 July 2014., The main point of reference performance testing PHPNG, which is WordPress, indicates nearly 100% increase in productivity [21]. Changes made PHPNG should also facilitate the implement performance improvements in the future as more compact data structures, and other changes are considered to be more suitable for successful migration to compile Just-in-time [22].

PHP 7 stands out among other improved syntax variables, internally consistent and complete, which has long been a problem in PHP. This allows the use of operators -> [] () {} ::, and with any valid expressions on the left of [23].

PHP 7 also adds two new operators - ?? (Known languages ​​such as C #) and <=>. Among the novelties there were also a few new features, the ability to put tables in solid or anonymous class.

PHP 7 is the first version that the typing function arguments allows the use of scalar types (string, integer, float, boolean). Also introduced the ability to determine the type returned by the function.

6 wrz 2016

The beginnings of PHP

The beginnings 
The first version of PHP, distributed under the name PHP / FI (Personal Home Page / Forms Interpreter), was created by Rasmus Lerdorf in 1994 as a set of Perl scripts used to monitor Internet users visiting the site. When the movement has become too large, he rewrote them in C, adding that the new options. Soon after, people began to ask him about the possibility of using these tools on their sites, so the 8 June 1995 the author of public access to the source code (PHP Tools 1.0). Just a few months later, the project was transformed into a nucleus now known programming language when it was combined with another tool Rasmus Lerdorf - Forms Interpreter, which gave the second part of the name. In 1997, he appeared in PHP / FI 2.0, then having several thousands of active users around the world and the support of 50 thousand. domains. Interestingly, this version had spent most of the "life" on the beta. Official release was only one and was published in November 1997.


In 1997, he became interested in the project, two Israeli programmers: Zeev Suraski and Andi Gutmans. They discovered that PHP / FI is too small for the needs of the application possibilities of eCommerce, which is created at the university. They decided then that prescribe PHP code completely from scratch, with the help of existing PHP community. In June 1998, they announced PHP 3.0 as the successor to PHP / FI, which further development is then stopped. This was a great step forward. PHP 3.0 had a completely new architecture, which significantly increased productivity. They appeared in it the seeds of object-oriented programming, but the most important feature of the application was its modularity. Users could now extend the functionality of the language by adding new modules.

Shortly after the release of PHP 3, in winter 1998 Zeev Suraski and Andi Gutmans again set about rewriting the source code of PHP, using the experience gained in the work on the previous version. Main objectives have chosen to improve the modularity and performance of complex applications. While the previous version could handle them, however, it was not designed for this purpose and by losing it with other solutions.

In mid-1999 was released officially Zend Engine, a new scripting language engine, around which soon after began to build PHP 4. Its name is a compromise combination of the names of the creators of the project. The new, based on the PHP version, it was released in May 2000. As before, it was a huge step forward. Developers now have access to a lot of new tools, language constructs, and more secure input / output system. From the administrative side there was official support for many new servers. For four years from the date of issue they appeared in three consecutive editions of this version numbered 4.1, 4.2 and 4.3. In each of them was felt to increase the safety, speed and performance. In 2004, they served together.