在PHP中,假如定名空间字符串太长时,我们就运用use来响应的收缩定名空间。这也是use在PHP中的作用。下面我们就为人人引见一下PHP中use的用法。
引荐教程:PHP视频教程
1、new类时,最前面无需用反斜杠。另外,use后没有as时,收缩的定名空间默以为末了一个反斜杠后的内容。
namespace animal\dog; class Life{ function __construct(){ echo 'dog life!'; } } namespace animal\cat; class Life{ function __construct(){ echo 'cat life!'; } } new Life(); //根据代码实行递次,这里默许animal\cat这个定名空间 new \animal\dog\Life(); //A use animal\dog; //a new dog\Life(); //B use animal\dog as d; //b new d\Life();
经由过程A、B行代码比较,须要注重:
运用use后,new类时,最前面没有反斜杠。
没运用use时,定名空间最前面有反斜杠
经由过程a、b行代码比较,能够明白:
use后没有as时,收缩的定名空间默以为末了一个反斜杠后的内容。如上的:
use animal\dog;
相当于
use animal\dog as dog;
2.namespace背面不发起加类名,但use后能够。
//name.php namespace animal\dog; class Life{ function __construct(){ echo 'dog life!'; } } namespace animal\cat; class Life{ function __construct(){ echo 'cat life!'; } } use animal\dog\Life as dog; new dog();
如上所示,use后加上类名后,就相当于把类改了个称号:由Life改成dog了。
上面不必as dog就会报错:
Fatal error: Cannot use animal\dog\Life as Life because the name is already in use
由于cat下也有个一样称号的Life类。
能够明白为,运用use后,这个昵称对应的类只能归当前定名空间占领,别的定名空间下不许可存在该类。
//name.php namespace animal\dog; class Life{ function __construct(){ echo 'dog life!'; } } class Dog{ function __construct(){ echo 'dog in dog!'; } } namespace animal\cat; // class Dog{ // function __construct(){ // echo 'dog in cat!'; // } // } class Life{ function __construct(){ echo 'cat life!'; } } use animal\dog; new dog\Dog();
如上,运用了
use animal\dog; cat
经由过程上面代码,我想运用use的目标结果(收缩定名空间称号)就很显著了。
简朴总结一下:
use就是起奶名的作用,不管写起来照样说起来都能够省不少事儿。
以上就是php中use的用法的细致内容,更多请关注ki4网别的相干文章!