ホームページ > バックエンド開発 > PHPチュートリアル > PHPの名前空間と使用に関する問題

PHPの名前空間と使用に関する問題

WBOY
リリース: 2016-06-23 14:01:13
オリジナル
1064 人が閲覧しました

内容を含む C.php ファイルを /test フォルダーの下に作成します
namespace TestDriver;
class C
{
function test()
{
echo "c" }
}

?>

コンテンツを含む test.php ファイルを / の下に作成します




無題ドキュメント
include "test/C. php";
TestDriver を使用する;
$c=new C();
$c->test();
echo "
";

?>





実行エラー:
( ! ) SCREAM: エラー抑制は
( ! ) で無視されました 致命的なエラー: E:hongyunlaithinkphp32test.php の 14 行目にクラス 'C' が見つかりません
呼び出しスタック
# 時間メモリ関数の場所
1 0.0006 247520 {main}( ) ..test.php:0



ディスカッションへの返信 (解決策)
test.php ファイル

に "test/C.php" が含まれている場合

$c; = new TestDriverC();
$c->test();
echo "
";

このように書くと、

c


71075279a86adf40a091659b9862dcbe

空間名を引用するとき、その名前空間の下にあるすべてのクラスを引用していませんか?
をインクルードしている限り、その中で使用されているすべてのクラスがロードされます

選択的なロードなどというものはありません、あなたは自分自身を欺いていることになります


最初と 3 番目の両方を理解しています

include "test/C.php" " ;

use TestDriver;

$c=new DriverC(); ここでの Driver の意味がわかりません
$c->test();

名前空間は Test Driver です
$c=new DriverC() ; 名前空間の最後のセクションを取り出してください

はい、実験をしました


namespace TestDriver;
class C
{
function test()
{
echo "c";
}
}

?>

test.php

include "test/C.php"
$c=new TestDriverC(); ;test();
echo "
";

?>

include "test/C.php";
$c; =new DriverC();
$c->test();
echo "
";


エラー メッセージ
( ! ) SCREAM:

のエラー抑制は無視されました ( ! ) 致命的なエラー: クラス 'DriverC ' 14 行目の E:hongyunlaithinkphp32test.php に見つかりません

呼び出しスタック
# 時間メモリ関数の場所
1 0.0005 247472 {main}( ) ..test.php:0

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート