ホームページ > バックエンド開発 > PHPチュートリアル > 刚学命名空间,做了个小实验,怎么不对,就几行代码,谢谢指教!

刚学命名空间,做了个小实验,怎么不对,就几行代码,谢谢指教!

WBOY
リリース: 2016-06-06 20:07:09
オリジナル
1099 人が閲覧しました

<code>//1.php
<?php include("2.php");
    namespace a\b;
    echo c\$aVar;</code></code>
ログイン後にコピー
ログイン後にコピー
<code>//2.php
<?php namespace a\b\c;
    $aVar=88;</code></code>
ログイン後にコピー
ログイン後にコピー

我是想输出这个88,怎么提示错误?

回复内容:

<code>//1.php
<?php include("2.php");
    namespace a\b;
    echo c\$aVar;</code></code>
ログイン後にコピー
ログイン後にコピー
<code>//2.php
<?php namespace a\b\c;
    $aVar=88;</code></code>
ログイン後にコピー
ログイン後にコピー

我是想输出这个88,怎么提示错误?

<code>namespace a\b;  //定义命名空间, 使用该定义方式, 需要保证在脚本的第一行!

/*----------------------------*/

namespace a\b {
    //采用该方式, 可以不在第一行, 并且可以同一个文件定义多个命名空间
}

namespace a\b\c {

}

/*----------------------------*/

//再说说你的误区, 即使变量是有命名空间的, 你的1.php应该这样写
include ('2.php');
use a\b;  //这里应该是use, 不应该又声明一次

//而且, 命名空间是对class, function, const有效的
</code>
ログイン後にコピー

懒得翻资料了,随口说一下,不一定对:
1-namespace应该在首行
2-namespace仅对类有效,因此你这种代码根本不需要写namespace。

好好学习下PHP官方手册吧,这最基础的东西。手册上都写得很清楚的。

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