xampp下php中的名称空间
我在xampp下使用php 在我的C:\xampp\htdocs\AppLib1\lib1.php中xampp下php中的名称空间,php,namespaces,directory,collision,Php,Namespaces,Directory,Collision,我在xampp下使用php 在我的C:\xampp\htdocs\AppLib1\lib1.php中 <?php // application library 1 i.e. lib1.php namespace AppLib1; const MYCONST = 'AppLib1MYCONST'; function MyFunction() { return __FUNCTION__; } class MyClass { static function WhoAmI()
<?php
// application library 1 i.e. lib1.php
namespace AppLib1;
const MYCONST = 'AppLib1MYCONST';
function MyFunction() {
return __FUNCTION__;
}
class MyClass {
static function WhoAmI() {
return __METHOD__;
}
}
?>
在我的C:\xampp\htdocs\myapp.php中
<?php
//myapp.php
header('Content-type: text/plain');
include_once ('lib1.php');
echo AppLib1MYCONST . "n";
echo AppLib1MyFunction() . "n";
echo AppLib1MyClass::WhoAmI() . "n";
?>
现在,当我在本地运行myapp.php时,出现了致命错误
警告:require_once(lib1.php):无法打开流:第3行的C:\xampp\htdocs\myapp.php中没有这样的文件或目录
致命错误:require_once():在第3行的C:\xampp\htdocs\myapp.php中打开所需的“lib1.php”(include_path=”;C:\xampp\php\PEAR)失败
能解释一下如何使用lib1.php中的函数、类和常量吗 输出应为: AppLib1MYCONST AppLib1MyFunction AppLib1MyClass::WhoAmI
我知道名称空间可以解决名称冲突问题。我相信您需要这样称呼它:
echo AppLib1\MYCONST . "n";
echo AppLib1\MyFunction() . "n";
echo AppLib1\MyClass::WhoAmI() . "n";