php - 刚学命名空间,做了个小实验,怎么不对,就几行代码,谢谢指教!
ringa_lee
ringa_lee 2017-04-10 17:51:25
[PHP讨论组]
//1.php
<?php
    include("2.php");
    namespace a\b;
    echo c\$aVar;
//2.php
<?php
    namespace a\b\c;
    $aVar=88;

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

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
巴扎黑
namespace a\b;  //定义命名空间, 使用该定义方式, 需要保证在脚本的第一行!

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

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

namespace a\b\c {

}

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

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

//而且, 命名空间是对class, function, const有效的
怪我咯

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

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号