[解決済み] PHPの名前空間と "use"
2022-03-08 16:48:02
質問
名前空間について少し困っています。
use
ステートメントを使用します。
3つのファイルを持っています。
ShapeInterface.php
,
Shape.php
と
Circle.php
.
私は相対パスを使ってこれを行おうとしているので、すべてのクラスにこれを入れました。
namespace Shape;
私のサークルクラスでは、次のようにしています。
namespace Shape;
//use Shape;
//use ShapeInterface;
include 'Shape.php';
include 'ShapeInterface.php';
class Circle extends Shape implements ShapeInterface{ ....
もし、私が
include
ステートメントを使用しても、エラーは発生しません。もし私が
use
ステートメントが表示されます。
致命的なエラーです。Class 'ShapeShape' not found in /Users/shawn/Documents/work/sites/workspace/shape/Circle.php on line 8
どなたか、この問題について少し指導していただけませんか?
どのように解決するのですか?
その
use
演算子
は、クラスやインターフェイス、その他の名前空間の名前に別名を付けるためのものです。ほとんどの場合
use
文は、短縮したい名前空間やクラスを参照しています。
use My\Full\Namespace;
とは等価である。
use My\Full\Namespace as Namespace;
// Namespace\Foo is now shorthand for My\Full\Namespace\Foo
もし
use
演算子がクラス名やインターフェース名と一緒に使われている場合、以下のような使い方があります。
// after this, "new DifferentName();" would instantiate a My\Full\Classname
use My\Full\Classname as DifferentName;
// global class - making "new ArrayObject()" and "new \ArrayObject()" equivalent
use ArrayObject;
は
use
演算子と混同しないでください。
オートローディング
. クラスはオートロードされます。
include
で)オートローダを登録することです。
spl_autoload_register
). を読みたいと思うかもしれません。
PSR-4
を使うと、適切なオートローダーの実装を見ることができます。
関連
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] PHPのstartWith()関数とendsWith()関数
-
[解決済み] PHPでパスワードをハッシュ化するためにbcryptを使用するにはどうすればよいですか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み] php5パッケージのインストール候補がない (Ubuntu 16.04)
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み】警告。数値でない値に遭遇しました
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み】In_arrayが動作しない。