Я хочу использовать функцию во всех моделях класса (в папке проекта и в папке плагинов).Функция Symfony доступна во всех моделях
Где я должен заявить об этом?
Я хочу использовать функцию во всех моделях класса (в папке проекта и в папке плагинов).Функция Symfony доступна во всех моделях
Где я должен заявить об этом?
В зависимости от того, что делает ваша функция, вы можете создать файл в папке lib
, а затем вызвать его из любого места в вашем приложении. Это полезно в проекте Symfony для определения общих функций (например, панели инструментов).
Например, в the Jobeet tutorial, они определяют метод, называемый slugify
в /lib/Jobeet.class.php
(обязательно имя файла с .class.php
в конце так Symfony будет автоматически загружать его). Затем вы можете позвонить Jobeet::slugify()
где угодно в вашем приложении/модели/плагине/представлении.
Это решение работает с Symfony 1.4:
Если все сделано правильно, эта функция доступна во всех ваших сценариях, независимо от модели, плагина или чего-то еще из вашего проекта.
Лучше всего использовать 'auto_prepend_file' для каталога. В противном случае он будет включен для всех сайтов, использующих 'php.ini'. Независимо от этого, не уверен, что создание такой внешней зависимости, как это, это путь. У Symfony 1.4 есть каталог '/ lib'. – webbiedave
-1 Да, я должен согласиться с последним предложением @ webbiedave. Использование параметра php.ini для этого было бы * чрезвычайно неожиданным для любого разработчика, который не был близко знаком с проектом, особенно когда Symfony уже предоставляет механизм для его выполнения. –
@Phoenix: Если он работает, он работает. Не сказать, что это лучший ответ, но технически это правильно. Доступны настройки каталога на каждый php.ini - см. Пользователь ini. – hakre
Возможно, что вы задали этот вопрос уже сегодня? http://symfony.com/doc/current/book/service_container.html – KingCrunch
Вспомогательная функция или фактическое поведение классов сущностей? – yitznewton