出于调试和测试目的,我创建了一个"外部"我的Symfony项目的顶级目录中的php文件,我从命令行用php调用它。到目前为止,我没有成功 在该外部文件中使用Symfony的默认自动加载。我依次尝试了以下每一项文件的开头:
require 'app/autoload.php';
require 'vendor/autoload.php'
require 'composer/autoload_real.php'
但它们都不起作用:每次我尝试像
这样的东西$check=class_exists(AppBundle/Entity/User);
我的调试器告诉$ check设置为false,这样我的User类就不会被php识别。这样做的正确方法是什么?
答案 0 :(得分:2)
第一个要求就足够了(Symfony自动加载器)它自己加载其他两个文件。
class_exists返回false,因为类没有自动加载,因此函数返回false。
require 'app/autoload.php'; // This autoloader loads also your vendors and composer
$user = new AppBundle/Entity/User(); // now the autoloader is called!
$check=class_exists(AppBundle/Entity/User); // the class is autoloaded so true!