注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 IB客座主编(四)美国西蒙公..
 帮助

PHP5其他新特性


2008-01-24 15:31:01
 标签:PHP 新特性   [推送到技术圈]

PHP5其他一些新特性:
 
    1、例外句柄(Exeption handing)
          PHP5增加了对于错误或程序异常时的处理结构语句块。
   
    2、try/throw/catch结构
          PHP的这个结构,用于程序运行时出现异常时执行的语句段,允许我们从系统提供的Exception类中继承或访问它抛出的对象,然后根据出错的类型进行异常处理。
          class SQLException extends Exception{
                   public $problem ;
                   function __construct($problem){
                          $this->problem = $problem ;
                   }
          } 
          try{
                  throw new SQLException("不能连接数据库!") ;
          }catch(SQLException $e){
                   echo "捕获到SQLException 异常:$obj->problem" ;
           }catch(Exception $e){
                   echo "捕获到未知的异常!" ;
           }
           值得一提的是,PHP中大多数的内部函数(系统函数)没有抛出例外(Exception)的特性,对PHP5的新扩展库则是支持的,如PECL扩展库中的PDO、mysqli等。
           在php.ini设置文件中已经存在的类似如:set_error_handler(),我们可以利用它在脚本执行完成之前去捕获没有触发的例外。
 
    3、foreach语句与引用
          在PHP4中,我们不能从数组中重新引用或修改其中的数组单元的值,而在PHP5中支持该功能,允许我们使用foreach循环利用&(引用操作符)标记来直接修改数组单元的值。
          <?php
                    $arr = array(0,1,2,3) ;
                    foreach($arr as &$value){
                             $value = $value * 2 ;
                    } 
                    // 该数组的内容为array(0,2,4,6)
           ?>
 
    4、引用参数中的默认值
          PHP4中,默认值不能给一个形式参数,只能传递一个实参,在PHP5中传递引用。
          <?php
                      function my_func(&$arg = null){
                               if($arg === NULL){
                                      echo "$arg为空!" ;
                               }
                      }
                      my_func() ;
           ?>
 
    5、iconv()函数
          PHP5在刚推出之时,就已经在内部集成了iconv函数族,用于字节符编程转换(PHP4是存在于外部的iconv.dll扩展库文件中),我们可以在PHP脚本直接进行字符的编码转换。
          <?php
                      //将$str中的汉字转为UTF-8编码
                      $str = '编码转换' ;
                      iconv('UTF-8','GBK',$str) ;
          ?>
 
 


上一篇 PHP5的新特性  下一篇 PHP5的扩展库



    文章评论
 
2008-01-24 16:30:34
PHP5进步不少

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: