ホームページ >バックエンド開発 >PHPチュートリアル >phpでのuseの使い方は何ですか

phpでのuseの使い方は何ですか

angryTom
angryTomオリジナル
2019-08-24 09:39:0211216ブラウズ

phpでのuseの使い方は何ですか

PHP では、名前空間文字列が長すぎる場合、 use を使用してそれに応じて名前空間を短縮します。これは、PHP での使用の役割でもあります。ここではPHPでのuseの使い方を紹介します。

推奨チュートリアル: PHP ビデオ チュートリアル

##1. 新しいクラスを使用する場合、必要はありません。フロントでリバースを使用するにはスラッシュ。さらに、使用後に 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 を使用した後、新しいクラスの先頭にバックスラッシュがありません。

use が使用されていない場合、名前空間の先頭にバックスラッシュがあります。

a 行と b 行を比較すると、次のことがわかります。

as がない場合使用後は短縮されます。名前空間のデフォルトは、最後のバックスラッシュに続くものになります。上記のように:

use animal\dog;

use animal\dog as dog;

2 と同等です。名前空間の後にクラス名を追加することはお勧めできませんが、使用後に追加することはできます。

//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();

上で示したように、使用後にクラス名を追加することは、クラス名を Life から 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 を使用する目的 (名前空間名の短縮) が明らかです。

簡単な要約:

はニックネームのようなもので、書き言葉でも話し言葉でも多くの手間を省くことができます。

以上がphpでのuseの使い方は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。