假设有两个项目“project_a”和“project_b”。我正在通过 set_include_path 在 project_a 的 index.php 中动态设置包含路径,以便能够使用文件夹/Users/Me/develop/project_b/controller中的 project_b 文件。
project_a 的 index.php 内容为:
set_include_path(get_include_path().':/Users/Me/develop/project_b');
require 'vendor/autoload.php';
$c = new projectbns\Controller\MyController();
composer.json 内容为:
{
"require": {},
"autoload": {
"psr-4": {
"projectbns\\Controller\\": "controller/"
}
},
"config": {
"use-include-path": true
}
}
最后在 project_b 中 MyController.php 的内容是:
namespace projectbns\Controller;
class MyController {
public function __construct() {
die(var_dump('Hi from controller!'));
}
}
但是当我调用 project_a 的 index.php 时,我只得到这个错误:
Fatal error: Uncaught Error: Class 'projectbns\Controller\MyController' not found in /Users/Me/develop/project_a/index.php:8 Stack trace: #0 {main} thrown in /Users/David/Me/develop/project_a/index.php on line 8
我错过了什么?
在此先感谢大卫。
PS:是的,出于特定原因,我必须动态设置包含路径。