【问题标题】:How to include multiple php libraries in Symfony?如何在 Symfony 中包含多个 php 库?
【发布时间】:2011-03-31 23:08:30
【问题描述】:

所以,我的 apps/myprogram/lib 文件夹中有一些 php 文件。例如应用程序/myprogram/lib/myLibA.class.php

当我在我的模块/动作/脚本中运行并尝试使用 myLibA 中的函数时,我不能。因为 symfony 抱怨 myLibA 类没有定义。

我需要在 symfony 框架中的任何地方指定 myLibA.class.php 是必需的库吗?

【问题讨论】:

    标签: symfony1 symfony-1.4


    【解决方案1】:

    默认情况下,Symfony 的自动加载器会在顶级 <project>/lib 目录中查找您的类。将在该目录或以下目录中的任何文件(“供应商”除外)中搜索类。 Symfony 搜索任何带有类声明的 .php 文件并将它们添加到自动加载系统中。

    此外,您可以在应用程序的autoload.yml 文件中添加搜索路径。例如,对于我的一个应用程序,我将第三方 Flickr 库放在 <project>/vendor/phpFlickr 中,我的 <project>/apps/frontend/config/autoload.yml 文件如下所示:

    autoload:
        vendor_php_flickr:
            path: %SF_LIB_DIR%/vendor/phpFlickr
            recursive: on
    

    这允许自动加载 .../vendor/phpFlickr 下面的所有类。

    【讨论】:

      【解决方案2】:

      这是另一种方式,您可以定义/添加到您的 preExecute 中:

      public function preExecute()
      {
        $this->getContext()->getConfiguration()->loadHelpers('Foo', 'Bar');
      }
      

      取自 (http://oldforum.symfony-project.org/index.php/m/92916/)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-21
        • 1970-01-01
        • 2020-02-05
        • 1970-01-01
        • 2010-12-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多