600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > namespace-php如何通过命名空间使用其他文件中的变量

namespace-php如何通过命名空间使用其他文件中的变量

时间:2019-10-19 14:20:10

相关推荐

namespace-php如何通过命名空间使用其他文件中的变量

后端开发|php教程

php

namespace

后端开发-php教程

phpnamespace

php源码文件,vscode大括号高亮,ubuntu 网卡聚合,tomcat 文件包含,用sqlite实现登入注册,爬虫软件寻找抖音视频来源,客户关系管理 php,南通seo推广哪家好,登录和注册网站代码是什么,免费儿童app下载网站模板下载安装lzw

比如有个 a.php 这样定义

<?php

namespace np1; $foo = ‘foo’; const foofoo = ‘foofoo’;

另外有个 b.php 这样定义

<?php

namespace np2; $bar = ‘bar’; const barbar = ‘barbar’;

在c.php定义

<?php

require “a.php” ; require “b.php”;

$baz = np1\$foo; $qux = np2\$bar;

echo “$baz and $qux !”

文本编辑器 源码,ubuntu qt5.6,爬虫抓取小说排名,encry php,seo多个iplzw

三个文件在同一目录中,已经被正确require了,运行会出错!

而c.php 中输出a.php 和b.php 中的常量,比如c.php如下:

<?php

$baz = np1\foofoo; $qux = np2\barbar;

echo “$baz and $qux !”

批发商城源码,ubuntu恢复模式退出,war包和tomcat关系,潮州爬虫店,多版本php安装,秀山智能化seo推广大概多少钱lzw

则能正确输出。

所以问题来了,怎样才能在c.php通过命名空间标识使用a.php 和 b.php中的变量$foo和$bar .

好吧,是我问题没有提清楚。试了下,直接 echo “$foo”; 是可以输出的!但是既然

$foo是命名空间np1中定义的变量,为什么在c.php中使用时不能加上命名空间的名字呢,比如这样 echo np1\$foo;

但是相反,如果a.php 中定义了一个类和一个常量,比如a.php 这样定义:

<?php​ ​namespace np1; ​ ​​$foo = foo; //变量​ ​const foofoo = foofoo; //常量class C1{ //类public function __construct($name, $time){ echo "Its echoing from class C1.

your name: $name, and your login​ ​ ​time: $time

";}​ ​public function saysth(){​ ​echo "echoing from function saysth of np1\C1

";​}

}

在c.php文件中可以通过命名空间np1使用文件a.php中的常量 foofoo和类C1但是无法通过命名空间使用变量$foo .

比如c.php 这样

<?php

require “a.php” ;

require “b.php”;

$baz = new np1\C1(“leon”,time());

$qux = np1\foofoo;

$baz.saysth();

echo “$qux

“;

上述c.php能够正常使用np1中的类C1和常量foofoo, 但是为什么不能通过np1\$foo 使用np1中的变量$foo 呢,搞不懂!不信大家可以试试.

设想一下如果b.php文件和a.php文件中同有名为$foo的变量 ,这样在c.php 直接使用$foo而不加命名空间限定,程序怎么判断这个变量是哪个文件定义的呢(我试了一下谁require在后输出谁的变量)?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。