Silex自定义类结构和加载



我正在使用Silex(微框架)构建一个应用程序。

随着我的应用程序越来越大,并且在多个路由中使用相同的代码的需求也在增加,我想把所有东西组织得更多一点。

我的想法是创建一些自定义类,然后与我的应用程序共享它们:

$app['test'] = $app->share(function () {
    require_once('../vendor/acme/src/test.php');
    $testClass = new Test();
    return new $testClass;
});

这实际上有效,但我需要以下方面的帮助:

  1. 使用作曲家自动加载类(它应该在 Silex 中完成的方式)。
  2. 能够在我的类中使用现有的 Doctrine DBAL 连接和方法。

我希望有人能给我一些如何继续的提示,因为我发现 Silex 文档不是很有用,而且我是 Silex 和作曲家的初学者。

查看有关自动加载的作曲家文档,添加配置后,您应该运行composer dump-autoload来重新生成作曲家自动加载器。那么你的require_once就不再需要了。

这很可能有效(假设类测试在 src/Test.php 中):

{
    "autoload": {
        "psr-0": {
            "": "src/"
        }
    }
}

这将使 src/自动加载内的任何符合 PSR-0 的类都变得可。

关于第二点(在类中使用 DBAL),您应该将类配置为访问db服务的 silex 服务。阅读 http://silex.sensiolabs.org/doc/services.html 的服务

相关内容

  • 没有找到相关文章

最新更新