我正在使用Silex(微框架)构建应用程序。
随着我的应用程序规模不断扩大,并且需要在多条路线中使用相同的代码,我希望将所有内容组织得更多......
我的想法是创建一些自定义类,然后与我的应用分享:
$app['test'] = $app->share(function () {
require_once('../vendor/acme/src/test.php');
$testClass = new Test();
return new $testClass;
});
这实际上有效,但我需要以下方面的帮助:
我希望有人可以给我一些提示,但是我没有发现Silex文档非常有用,而且我是Silex和Composer的初学者。
答案 0 :(得分:2)
检查composer docs about autoloading,当您添加配置时,应运行composer dump-autoload
以重新生成composer自动加载器。那么你的require_once就不再需要了。
最有可能这样做(假设类测试在src / Test.php中):
{
"autoload": {
"psr-0": {
"": "src/"
}
}
}
这将使src / autoloadable中的任何PSR-0兼容类。
关于你的第二点(在你的类中使用DBAL),你应该将你的类配置为访问db
服务的silex服务。阅读http://silex.sensiolabs.org/doc/services.html