所以我有一个config.php
文件,其中包含以下内容:
use PHPOnCouch\Couch;
use PHPOnCouch\CouchAdmin;
use PHPOnCouch\CouchClient;
然后我有另一个名为let {#1}}的文件,其中包含 config.php
index.php
然后我require_once("config.php");
include("page.php");
使用 CouchClient ,如下所示:
page.php
但是在 page.php 上,我收到以下错误:
致命错误:Class' couchClient'在page.php中找不到
不应该将此页面连接到我的 config.php ,这样我就不必将它放在我的 page.php 中了吗? / p>
答案 0 :(得分:3)
在page.php
中执行:
$client = new \PHPOnCouch\CouchClient ($URL, $DB);
或
use PHPOnCouch\CouchClient;
$client = new CouchClient ($URL, $DB);
这也有效
use PHPOnCouch\CouchClient as SomeOtherFunnyName;
$client = new SomeOtherFunnyName ($URL, $DB);
并在php中阅读有关namespaces
的更多信息。
小更新:
不应该将此页面连接到我的config.php,这样我就不必将它放在我的page.php中了吗?
namespace { /*code*/ }
use
包含所有需要的类。
并且因为所有文件都有自己的命名空间,所以必须通过use
namespace xyz;
用于仅包含一个命名空间的文件! 一个简单的例子(只有一个文件):
namespace a {
class a {}
}
namespace b {
use a\a;
class b extends a{}
}
namespace {
use a\a;
use b\b;
new a;
new b;
}
假设最后的命名空间没有给出,我们将其包含在一个新文件中,我们可以
namespace mynamespace;
use a\a;
use b\b as x;
new a;
new x;