2016-03-03 116 views
0

给我一个错误,让我难住。我试图在php中实现一个自定义类加载器。 Am 5.6.11版本。问题是,我正在动态构建文件路径,然后在该路径上执行“include_once”。 PHP只是终止执行,没有警告或错误消息。该路径是有效的。该代码是基本上是这样PHP include_once失败,没有警告或错误的现有文件

require_once "lib/includes/web/classloader/default.php"; 
require_once "lib/includes/web/controller/default.php"; 
$classloader = new web\classloaders\ClassLoader(); 
$controller_path = $classloader->registerController(); 
if($controller_path != null){ 
    require_once("$controller_path"); 
} 

的file_exists和is_readable检查在类加载器的registerController()函数来完成。

我也试过这样:

require_once $controller_path; 

这:

require_once($controller_path); 

任何想法?

问候

+0

require_once (dirname(__ FILE__)。'/default.php'); – Ghostman

+0

我在Windows 10上使用xampp 10 – ltmutiwekuziwa

+0

我是新的命名空间,但它不会导致您的$ classloader在另一个命名空间中?你有检查你的文件名是否大写,类型default.php - > Default.php? – Xenofexs

回答

0

没有与语法没有问题,因为我的代码进行测试。问题应该在路上。在使用require_once查看路径之前,请尝试使用echo $controller_path; die();

OR

您可以在PHP页面开始插入

error_reporting(E_ALL); ini_set("display_errors", 1);

使错误显示,这样就可以看到是什么原因造成的错误..

+0

再次感谢您的帮助。错误在使用的命名空间中。我设法将问题的来源追溯到其中一个我没有正确命名空间的类。 Xenofex发布你的提示,我会接受它。 – ltmutiwekuziwa

+0

@ltmutiwekuziwa我很高兴你发现了错误.. –

+0

谢谢@Sabin Chacko。非常感激 – ltmutiwekuziwa

相关问题