【问题标题】:Silex custom class structure and loadingSilex 自定义类结构和加载
【发布时间】:2012-11-20 12:42:22
【问题描述】:

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

随着我的应用程序规模不断扩大,并且在多个路由中使用相同代码的需求增加,我想进一步组织所有内容..

我的想法是创建一些自定义类,然后与我的应用分享:

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

这确实有效,但我需要以下帮助:

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

我希望有人能给我一些提示,因为我发现 Silex 文档不是很有用,而且我是 Silex 和 Composer 的初学者。

【问题讨论】:

    标签: php doctrine autoload composer-php silex


    【解决方案1】:

    检查composer docs about autoloading,当您添加配置时,您应该运行composer dump-autoload 以重新生成作曲家自动加载器。那么你的 require_once 应该不再需要了。

    这很可能会起作用(假设 Test 类在 src/Test.php 中):

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

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

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

    【讨论】:

    • 在最后添加了关于教义的注释。
    猜你喜欢
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多