【发布时间】:2018-01-25 21:01:58
【问题描述】:
我创建了一个结构来启动我的 php 框架,但没有任何东西可以使它工作,因为从逻辑上讲,应该可以实例化“require”中指示的类,但我不能从一个字符串动态实例化它们:
$require_module = 'contact';
$instance = new $require_module;
composer.json
{
"require": {
"illuminate/database": "*",
"illuminate/routing": "~5.1.16",
"illuminate/events": "~5.1.16"
},
"autoload": {
"psr-4": {
"System\\" : "system/libs/"
}
}
}
index.php
<?php
require_once 'vendor/autoload.php';
require_once './system/sys_functions.php';
// Load all app modules controller into modules folder
foreach (read_modules() as $require_module){
require "./modules/$require_module/controller.php";
$instance = new $require_module;
// output Fatal error: Uncaught Error: Class 'contact' not found in /var/www/html/fsib/test.php:15 Stack trace: #0 {main} thrown in /var/www/html/fsib/test.php on line 15
}
?>
modules/contact/controller.php
<?php
namespace System\Core;
Class contact extends Fsib_controller
{
}
?>
system/libs/fsib_controller.php
<?php
namespace System\Core;
class Fsib_controller
{
}
?>
【问题讨论】:
标签: php frameworks namespaces logic