PHP5.4.0新特性研究
PHP5.4.0新特性研究
1、内建Web Server
 这的确是个好的改进,大大的方便了开发人员。以后开发机不装nginx,httpd也行
cd $PHP_INSTALL_PATH ./bin/php -S <addr>:<port> -t <docroot>
如: 
前台运行:  
./bin/php -S localhost:80 -t /data/www/ 
后台运行:
./bin/php -S localhost:80 -t /data/www/ >> /tmp/access.log 2>&1 &
2、数组定义,增加了一种简便写法
$arr1 = array(1, 2, 3); $arr2 = [1, 2, 3]; // 新增简便写法 print_r($arr1); print_r($arr2); var_dump($arr1 === $arr2);
结果:
Array 
(  
    [0] => 1  
    [1] => 2  
    [2] => 3  
)  
Array  
(  
    [0] => 1  
    [1] => 2  
    [2] => 3  
)  
bool(true)  
熟悉javascript的同学,应该对以上这种写法相当熟悉,呵呵。
3、Traits特性
traits,既有部分接口的特性,又有部分类的特性,可以说是他们杂交的产物。
trait Object { public function get($key) { return $GLOBALS[$key]; } } trait Common { public function set($key, $val) { $GLOBALS[$key] = $val; } public function set2($key, $val) { $GLOBALS[$key] = $val; } } class App { // 引入trait(类似于多继承) use Object, Common; /** * 此方法会覆盖trait中的set2方法(类的重载特性) */ public function set2($key, $val) { $GLOBALS[$key] = 'Hello world set by App class!'; } } $app = new App(); $app->set('foo', 'Hello world!'); echo $app->get('foo'); echo "\n"; echo $app->set2('doo', 'Hello world!'); echo $app->get('doo'); echo "\n";
结果:
Hello world! 
Hello world set by App class!  
很像多继承,只是它的实现,跟多继承不同,可以参看官方文档说明。
4、上传进度反馈支持
上传进度会存储在SESSION中(默认开启,可在php.ini中修改),也就是说,以后可以用Ajax结合PHP来做上传进度条了。
还有很多其他特性,有兴趣的可以去官网查看,不在此提了。
 
                    
                 

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号