2015 Where is PHP 6? What is Hack/HHVM/Zephir? What is/was PHP NG? What is new in it? New features in PHP 5.3-5.6. New features in PHP 7. How will it impact me? 3
binaries in 'C' for his 'Personal Home Page'. So PHP, by that time was shortform on 'Personal Home Page'. In 1997, Zeev And Andi rewrite the parser and call it PHP 3. Also PHP become 'PHP: Hypertext Preprocessor'. In 2000, PHP 4 was released, Powered by Zend Engine 1. On 13th July 2004, PHP 5 was released, powered by Zend Engine 2. 9
2005. From 2008, few books published on PHP 6. By end 2008, PHP 6 was not released, everyone started asking when it will be released. Major issue was unicode support, which was causing delay and problems. 10
need is some hacking time and to bring some fun back into PHP development. It hasn't been fun for quite a while. Once we have a body of new interesting stuff, we can start pondering releases...” 11
features were back ported & PHP 5.3 was released. Major among these features was namespace. PHP 6 was officially abandoned in 2010. Few other PHP 6 features were later back ported in PHP 5.4. PHP 5.4 - 1st March 2012 PHP 5.5 - 20th June 2013 PHP 5.6 - 28th August 2014 PHP 7 - October 2015 (Supposed) 12
6 books published in 2008-09. Many blog/tutorials about PHP 6, still searchable. If new version would be named as PHP 6, it might have created confusion. So there was a poll on 'What should be next PHP version?' https://wiki.php.net/rfc/php6 Options: PHP 6 or PHP 7 Poll result: PHP 7 won 58:24.
2015 Where is PHP 6? What is Hack/HHVM/Zephir? What is/was PHP NG? What is new in it? New features in PHP 5.3-5.6. New features in PHP 7. How will it impact me? 14
pages are in php) Facebook was (is) used by millions of users around the globe. For sites with such user base, execution time is crucial. Being scripting language, PHP (Zend Engine) was slow for them. In 2008, FB make HipHop for PHP Goal: Speed up PHP execution. 16
2010, they decided to make HHVM - HipHop Virtual Machine In 2012, Facebook claimed HHVM have 3x-10x speed boost and 1/2 memory footprint as compare to PHP+ACP. 17
Every valid PHP program is valid Hack program. Also contains many features that PHP missed. Return type Type hinting for primitive data type. Concise code. Collection support And many more (Example: Vector and Map) 18
goal of improved performance and efficient memory usage. PHP NG is not the JIT but internal refactoring to make JIT possible in future. PHPNG never released but later on, it is merged to master and becomes base of PHP 7. 22
2015 Where is PHP 6? What is Hack/HHVM/Zephir? What is/was PHP NG? What is new in it? New features in PHP 5.3-5.6. New features in PHP 7. How will it impact me? 24
custom class called 'Session'. $session = new Session(); Is it our custom class or Session class form ZF1? Well we can't say. $session = new Zend_Auth_Storage_Session() We can now easily say which class we are referring. 27
us using $session = new Zend_Auth_Storage_Session(); Internally auto loader will split class with '_' and use it as path. Still 'Zend_Auth_Storage_Session' is ugly class name, isn’t it? 29
it drastically changed the way applications are structured. - This force big project to stop backward compatibility. - Example Symfony 2 and Zend Framework 2. 33
allow the creation of functions which have no specified name. They are most useful as the value of callback parameters, but they have many other uses. Closures or Lambda or Anonymous functions 34
Build-in web server (Allows quick local testing) Short array syntax Function array dereferencing Closures can use $this <?= available regardless of short_open_tag setting. 38
OOP. PHP, being single inheritance model, have some limitation. If you similar code in two unrelated classes (Cant extend same class) Refactoring: Extract class. but it do not fit every where. PHP 5.4 had new solutions; Traits
inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies. 40
API Generators finally keyword List support in foreach Array and string literal dereferencing Class name resolution via ::class Non scalar keys support for foreach. 43
md5($password); Not safe There are lot of md5 database. $hash = md5($password . $salt); Still not safe, not because cryptographic weaknesses but because it is too fast Too fast for Brute-force attack. 44
Proposed PHP 5.7 was: Prepare our users to 7 No or very little additions, development must be focused on 7 Keep to our release process Supposed to add the necessary notices or deprecation notices to prepare our users to move to 7. However in voting, it was voted down. So no PHP 5.7. 47
7 on local development box. Use vagrant. I personally used Homestead for that (As can be seen in examples here) Use cloud server. I successfully compiled PHP 7 on ‘koding’ free account. However compilation could not be done on Cloud 9 free account. 61