PHP特性-学习笔记 使用命名空间 <?php namespace my\space; //在此定义类、接口、函数、常量 ?> <?php use my\space\className as cla; //之后的引用可以使用cla user func my\space\functionName //调用函数 //之后可以调用my_space中的类、接口、函数、常量 ?> //一般的,一个文件中仅定义一个命名空间,而同一命名空间可以存在于多个php文件当中 使用接口 <?php interface interfaceName { public function function1(); public function function2(); } class classone implements interfaceName{ protected $a; public function function1(string a){ //函数处理 } public function function2(string b){ //函数处理 } } ?> <?php class classtwo implements interfaceName{ protected $b; public function function1(int a){ //函数处理 } public function function2(int b){ //函数处理 } } ?> //使用接口可以应用不同的类,但使用同一函数名来实现处理不同的数据 使用性状 <?php trait myTrait{ //性状的实现 } class test1{ use myTrait; //类 } ?> <?php class test2{ use myTrait; //类 } //test1和test2均可以使用myTrait中的方法 ?> 生成器 //创建生成器 关键字:yield //生成一个范围内的数值 <?php function makeRange($length){ for ($i = 0; $i < $length; $i++) { yield $i; } } foreach (makeRange(1000000) as $i) { echo $i.PHP_EOL; //php_eol 换行 } ?> //使用生成器可以节省内存资源,但是生成器只能向前迭代,这意味着生成器无法在数据集中执行款后退、快进或查找操作,只能让生成器计算并产生下一个值