ورود

View Full Version : خبر: PHP 5.4 released



taknegaar
جمعه 12 اسفند 1390, 00:58 صبح
پس از گذشت بیش از یک سال از نسخه 5.3 و
ماهها نسخه آزمایشی 5.4 (حدود بیش از 10 ماه)،

http://qa.php.net/reports

بالاخره نسخه نهایی 5.4 با امکانات و تغییرات جدید رونمایی شد (http://www.php.net/archive/2012.php) !


لیست تغییرات صورت گرفته:
http://php.net/ChangeLog-5.php

https://svn.php.net/repository/php/php-src/tags/php_5_4_0/NEWS




در کنار امکانات جدید، مساله ای که در این نسخه بدان توجه شده افزایش پرفرمنس بوده:




PHP 5.4 set to boost performance by 35%

http://www.internetnews.com/skerner/2010/11/php-54-set-to-boost-performanc.html


Run 5 times PHP 5.3.5 PHP 5.4.0beta1 Exec. time 884 - 1004 ms 641 - 777 ms Mem. usage 26.00 MiB 14.75 MiB
http://blog.slo-host.com/2011/09/performance-improvements-in-php-5-4-0/


PHP Performance:
5.3.9 - 5.4.0RC6

http://windows.php.net/downloads/snaps/ostc/pftt/perf/results-20120119-5.3.9-5.4.0RC6.html

_______________________________________


PHP 5.4 : What's new ?

- Built-in webserver : php -S localhost:8000
- Traits
- Short array syntax : [...]
- Instantiate a class without running constructor
- Added class member access on instantiation support
- Added class_uses function
- Added callable typehint
- Class::{expr}()
- Added closure $this support back
- Improved performance of @ (silence) operator
- Changed $GLOBALS into a JIT autoglobal
- Added multibyte support by default
- Removed break/continue $var syntax
- Added callable typehint
- JsonSerializable interface
- Added options: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES
- Iterator support in MySQLi
- http_response_code function
- Added support for array dereferencing
- object-oriented session handlers
- storing upload progress feedback in session data
...

more:
http://www.king-foo.be/2012/01/php-5-4-whats-new

http://php.webtutor.pl/en/2011/09/27/whats-new-in-php-5-4-a-huge-list-of-major-changes[/URL]

_______________________________________



برای تست روی ویندوز با آپاچی میتونید از این استفاده کنید:

http://sourceforge.net/projects/awserver (http://php.webtutor.pl/en/2011/09/27/whats-new-in-php-5-4-a-huge-list-of-major-changes)

سایرین هنوز آپدیت نکردند:

http://www.wampserver.com/en

http://sourceforge.net/projects/xampp
http://www.apachefriends.org/en/xampp-windows.html

_______________________________________



PHP IDE

PHPstorm 3

[URL]http://www.jetbrains.com/phpstorm

http://www.jetbrains.com/phpstorm/features/index.html

PhpStorm 4

- PHP 5.4


http://confluence.jetbrains.net/pages/viewpage.action?pageId=15801728

Zend Studio

http://www.zend.com/en/products/studio/features



_______________________________________




در ضمن استارت نسخه 5.5 هم زده شده:

http://svn.php.net/viewvc/php/php-src/trunk/NEWS?view=markup

http://qa.php.net/reports/?version=5.5.0-dev

ravand
جمعه 12 اسفند 1390, 07:19 صبح
الان اين ورژن جديدي كه امده كدهاي قبلي php تغيير كرده يا يه چيزي بهش اضافه شده؟

taknegaar
جمعه 12 اسفند 1390, 16:22 عصر
الان اين ورژن جديدي كه امده كدهاي قبلي php تغيير كرده يا يه چيزي بهش اضافه شده؟

در بالا ذکر شده !

http://www.king-foo.be/2012/01/php-5-4-whats-new

http://php.net/ChangeLog-5.php

ravand
جمعه 12 اسفند 1390, 16:26 عصر
خوب من كه انگليسي بلد نيستم و اگه بلد بودم سوال نميكردم. شما كه اين مطالب رو خوندي يه كلمه بگو كه تغيير كرده يا نه؟
همين .
متشكرم

taknegaar
شنبه 13 اسفند 1390, 00:08 صبح
خوب من كه انگليسي بلد نيستم و اگه بلد بودم سوال نميكردم. شما كه اين مطالب رو خوندي يه كلمه بگو كه تغيير كرده يا نه؟
همين .
متشكرم

مفصله، مثلا مثل این یکی: Trait
شاید به این فکر کرده باشی که چی میشد تا بتونی
تو زبانهای OOP یک Class رو از چند Class دیگه Extend کنی ...
یا سوپرکلاس نخواهی ...
راه حل Traits هست با شیوه ای جدید:

http://scg.unibe.ch/research/traits

http://en.wikipedia.org/wiki/Trait_%28computer_programming%29

در حال حاضر زبانهای Scala و Squeak Smalltalk و ... از این مدل پشتیبانی میکنند
که php هم در نسخه 5.4 از این مدل پشتیبانی خواهد کرد:



class Base {
public function sayHello() {
echo 'Hello ';
}
}

trait SayWorld {
public function sayHello() {
parent::sayHello();
echo 'World!';
}
}

class MyHelloWorld extends Base {
use SayWorld;
}

$hello = new MyHelloWorld();
$hello->sayHello();


مثالهای جالب تری رو ببین:



http://php.net/manual/en/language.oop5.traits.php