PHP5.3新特性:名称空间(Nameaces)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP5.3新特性:名称空间(Nameaces)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:空间名称特性CODE:
黑客防线网安网讯:  之前陆续介绍了php5.3的一些新特性,正好上周看到ZendCon关于5.3的ppt,介绍的更为详细,那么这里做个归总或者说翻译:)    Namespaces    php5.3最大的改动,毫无疑问就是Names...
  之前陆续介绍了php5.3的一些新特性正好上周看到ZendCon关于5.3的ppt介绍的更为详细,那么这里做个归总或者说翻译:)
  
  Namespaces
  
  php5.3最大的改动,毫无疑问就是Namespaces(此前有一篇相关的PHPNamespacesFAQ)这给php开发人员带来的好处不少,广为人们所诟病的函数命名问题也得到了解决
  
  代码更清晰
  
  5.3之前常见的代码,需要自定义前缀区分函数和类名
  
  CODE:
  
  functionMY_wrapper(){}
  
  classMY_DB{}
  
  define('MY_CONN_STR','');
  
  MY_wrapper();
  
  newMY_DB();
  
  MY_CONN_STR;
  
  使用名称空间之后,代码看上去更加clean。
  
  CODE:
  
  namespaceMY;
  
  functionwrapper(){}
  
  classDB{}
  
  constCONN_STR='';
  
  useMYASMY;
  
  wrapper();
  
  newDB();
  
  CONN_STR;
  
  一个文件中定义了多个namespace
  
  如果一个文件中定义了多个namespace,应该怎样处理?
  
  CODE:
  
  namespaceLIB;
  
  classMySQL{}
  
  classSQLite{}
  
  $b=newSQLite();
  
  namespaceLIB_EXTRA;
  
  classMScrypt{}
  
  $a=newMScrypt();
  
  var_dump(
  
  get_class($a),
  
  get_class($b)
  
  );
  
  以上代码输出为:
  
  CODE:
  
  string(18)"LIB_EXTRA::MScrypt"
  
  string(11)"LIB::SQLite"
  
  php是解释执行的语言,以上结果合情合理。
  
  namespace的优先级
  
  namespace中定义的函数,类和常量优先,其次才是全局的。
  
  CODE:
  
  namespacefoo;
  
  functionstrlen($foo){returnhtmlentities($foo);}
  
  echostrlen("test");//test
  
  echo::strlen("test");//4
  
  echonamespace::strlen("test");//test
  
  namespace和autoload的友情
  
  autoload会根据namespace名称以及class名称来解析类文件位置
  
  仅当namespace和全局范围都没找到class定义的情况下,autoload才会被触发
  
  在namespace中定义的__autoload不会被自动调用
  
  CODE:
  
  function__autoload($var){var_dump($var);}//LIB::foo
  
  require"./ns.php";/*
  
  <?php
  
  namespaceLIB;
  
  newfoo();
  
  */
  
  namespace一些辅料
  
  CODE:
  
  namespacereally::long::pointlessly::verbose::ns;
  
  __NAMESPACE__;//新增的魔法常量,表示当前namespace名称
  
  classa{}
  
  get_class(newa());//really::long::pointlessly::verbose::ns::a
  
  usereally::long::pointlessly::verbose::ns::aASb;//从名称空间中引用一个类
  
  注:这里的内容节选自pdfIntroductiontoPHP5.3Slides,后文不再复述。
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17541-1.html
网站维护教程更新时间:2012-09-21 05:20:50  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer