Как включить несколько библиотек php в Symfony? - PullRequest
2 голосов
/ 01 апреля 2011

Итак, у меня есть несколько файлов php в папке apps / myprogram / lib .например, apps / myprogram / lib / myLibA.class.php

Когда я запускаю свои модули / actions / scripts и пытаюсь использовать функции в myLibA, я не могу.потому что Symfony жалуется, что класс myLibA не определен.

нужно ли где-либо указывать в структуре symfony, что myLibA.class.php является обязательной библиотекой?

Ответы [ 2 ]

6 голосов
/ 01 апреля 2011

Автозагрузчик Symfony по умолчанию ищет ваши классы в каталоге <project>/lib верхнего уровня.Любой файл в этом каталоге или ниже (за исключением «vendor») будет искать классы.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 для автозагрузки.

0 голосов
/ 21 сентября 2011

это альтернативный способ, вы можете определить / добавить к своему предварительному исполнению следующее:

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

взято из (http://oldforum.symfony -project.org / index.php / m / 92916 /)

...