我公司的一个产品(我也是)使用的是 PHP 5.2。
我想切换到 5.4,所以我第一次用 5.4 做一些基本测试。
根据 PSR 0,我遵循以下文件夹结构进行简单测试:
Projectfolder
|
+ index.php
|
+ lib
|
+ vendor
|
+ mylib
|
+ MyClass.php (Having namespace \mylib )
这是我们的代码,称为MyClass.php
:
namespace \mylib;
class MyClass {
public $testA;
public function MyClass(){
$this->testA = "test entry";
}
}
我的问题是如何在 index.php 文件中获取 MyClass 的实例?
在命名空间之前,我可以这样做:
include "lib/vendor/mylib/MyClass.php";
$myClass = new MyClass();
echo $myClass->testA;
现在使用命名空间,我尝试以下代码:
<?PHP
use mylib\MyClass
$myClass = new MyClass();
echo $myClass->testA;
但是,我收到以下错误:
致命错误:找不到类 'mylib\MyClass' ...
我的问题是,我如何告诉 PHP 在文件夹中查找命名空间文件lib\vendor
。
在 Java 中,我们通常定义一个类路径。PHP中有类似的设置吗?
正如命名空间教程中的一些示例所示,我需要包含所有 PHP 文件,其中包含要使用的所有类(10、20、50 任意数量)。我想这不应该是这样,否则在 PHP 中引入命名空间的整个目的都会失败。