我有以下库结构
C:\WWW\WEBS
| users.php
|
\---lib
| Api.php
| Server.php
| TimeSync.php
|
\---TimeSync
Ntp.php
Protocol.php
Sntp.php
在server.php中我有
<?php
namespace lib;
class Server extends Api
{
}
?>
在users.php中我将其用作
<?php
use lib\Server;
$objServer = new Server();
?>
我也尝试过像use lib\Server;
但在两种情况下都是说
致命错误:Class&#39; lib \ Server&#39;
中找不到第7行的C:\ www \ Experimentation \ webserviceserver \ users.php
我出错的地方。我应该使用自动加载器吗?
答案 0 :(得分:0)
您需要使用自动加载器。 您可以使用Composer中提供的那个。 安装完成后(在项目的根目录下),放入一个composer.json文件,在里面复制以下代码:
{
"autoload":{
"psr-4":{
"Lib\\" : "lib/"
}
}
}
然后使用命令composer dumpautoload
。这会将自动加载文件复制到项目根目录下名为“vendor”的文件夹中。
然后在users.php中,您需要自动加载器:
require_once "vendor/autoload.php"
您使用命名空间:
use Lib;
$objServer = new Lib\Server();
它可能会奏效。