Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试使用我创建的命名空间时出错_Php_Namespaces - Fatal编程技术网

Php 尝试使用我创建的命名空间时出错

Php 尝试使用我创建的命名空间时出错,php,namespaces,Php,Namespaces,名为tester.php的脚本 为什么我会犯这个错误?这两个脚本都在同一个目录中,用于给类/接口/命名空间名称添加别名,而不是导入命名空间以便使用。要使用名称空间,只需将名称空间放在my位于tester1.php文件的顶部(还包括原始文件,以便可以使用类定义) 试一试 <?php namespace my; class Tester { public function greet() { echo "Hello ! <br />"; } }

名为tester.php的脚本

为什么我会犯这个错误?这两个脚本都在同一个目录中,用于给类/接口/命名空间名称添加别名,而不是导入命名空间以便使用。要使用名称空间,只需将
名称空间放在my
位于
tester1.php
文件的顶部(还包括原始文件,以便可以使用类定义)

试一试


<?php
namespace my;
class Tester {
    public function greet() {
        echo "Hello ! <br />";
    }
}   
<?php
use my;

$obj = new Tester();
$obj->greet();
Warning: The use statement with non-compound name 'my' has no effect
in /opt/lampp/htdocs/tester_1.php on line 2

Fatal error: Class 'Tester' not found in /opt/lampp/htdocs/tester_1.php on line 4
<?php
namespace my;
include("tester.php");

$obj = new Tester();
$obj->greet();
<?php
namespace my;
use my\Tester as Blah;
include("tester1.php");

$obj = new Blah();
$obj->greet();
<?php namespace my;
use my as Blah;
include("second.php");
$obj = new Tester();
$obj->greet();
<?php namespace my;
class Tester {
    public function greet() {
        echo "Hello ! <br />";
    }
}