旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

php中use的用法【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:107


导读:  在PHP中,假如定名空间字符串太长时,我们就运用use来响应的收缩定名空间。这也是use在PHP中的作用。下面我们就为人人引见一下PHP中use的用法。引荐教程:P...

  在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网别的相干文章!

标签:PHPuse