Friday, March 9, 2012

[ vuZs.net ] Tech wire: PHP 5.4 Released

PHP 5.4 is Released — What's New?

It's difficult to believe almost three years have elapsed since PHP 5.3.0. The next version should have been PHP 6.0 but unicode problems have delayed development. This latest version provides many of the features planned for version 6.0.

PHP 5.4 is available to download from the php.net website. There's a PHP 5.3 migration guide if you want to keep your old settings. While it's stable, you'd be advised to test your sites and applications before installing it on live servers. The PHP team often release a bug-fix version a few weeks after the initial release.

So let's look at the best new features and improvements…

Short Array Syntax

It's now possible to use finger-saving JavaScript-like square brackets rather than using the old array(…)construct, e.g.

  1. $array1 = [1, 2, 3];  
  2. $array2 = [  
  3.     "one" => "first",  
  4.     "two" => "second",  
  5.     "three" => "third"  
  6. ];  

Traits

Traits reduce some limitations of single inheritance. In essence, traits are similar to abstract classes and can contain any number of properties and methods. A class can then use any number of traits, e.g.

  1. trait Hello  
  2. {  
  3.     function sayHello() {  
  4.         return "Hello";  
  5.     }  
  6. }  
  7. trait World  
  8. {  
  9.     function sayWorld() {  
  10.         return "World";  
  11.     }  
  12. }  
  13. class MyWorld  
  14. {  
  15.     use Hello, World;  
  16. }  
  17. $world = new MyWorld();  
  18. echo $world->sayHello() . ' ' . $world->sayWorld();  

For more information, refer to Using Traits in PHP 5.4 on PHPmaster.com.

Built-in Web Server

PHP 5.4 offers a built-in web server which runs from the Windows, Mac or Linux command line. While it's not Apache or IIS, it's fine for simple testing. I suspect many of the better PHP IDEs will implement support shortly.

For more information, refer to PHP 5.4′s New Built-in Web Server.

New Commands

A number of useful commands have been implemented:

  1. hextobin(string $hex): coverts a hex representation of data to binary.
  2. http_response_code(int $code): allows you to set or get the HTTP response code, e.g.http_response_code(404);
  3. header_register_callback(string $function): allows you to register a function which is called when PHP starts sending output.
  4. trait_exists(string $name [,bool $autoload]): determines whether a trait exists and, optionally, whether it should be autoloaded.

Miscellaneous Updates

If that's not enough…

  • Class members can be accessed on instantiation, e.g. (new MyClass)->MyMethod()
  • <?=$variable?> is always available regardless of how your short_open_tag ini option is set.
  • Binary numbers can be declared, e.g. 0b11110000
  • Session upload progress has been implemented so PHP can track the state of file uploads.
  • Some users are reporting speed increases of up to 25% with a memory reduction of 35%.

Compatibility Issues

Most older PHP code should run without modification but there are a few gotchas to look out for:

You should also note that PHP 5.4.x will be the last edition to support Windows XP and Windows 2003.


Regards

Zubair Hussain
www.vuzs.net

--
--
Please visit www.vuzs.net For Current & Old Papers, Quizzes, Assignments and study material.
 
To post a new message on this group, send email to vuZs@googlegroups.com
 
Message Posting Rules: http://vuzs.net/faq/4795-vuzs-google-groups-basic-rules-for-posting-messages.html
--
To unsubscribe from this group, send email to vuZs+unsubscribe@googlegroups.com
--
To join this group Send blank email to vuZs+subscribe@googlegroups.com
or visit
http://groups.google.com/group/vuZs/subscribe

No comments:

Post a Comment