Я нахожусь на Symfony 2.0 и понял, что сторонние библиотеки входят в/vendor. У меня есть два третьих класса, которые я использую, один - TCPDF, а другой - класс Paypal. Также нет официальных пакетов Symfony2.В Symfony2, где я помещаю, например. TCPDF?
Так что я следовал инструкции здесь, которые пространств имен их и делает их пригодными для использования внутри/поставщика:
Add third party libraries to Symfony 2
Это работает, и я могу получить доступ к ним из моих контроллеров. Однако я переосмысливаю, если это правильно. Всякий раз, когда я делаю ..
php bin/vendors install --reinstall
..those пользовательские классы исчезают, потому что они не имеют репо Git в «DEPS». Это вызвало реальные проблемы, например. при попытке развертывания, например. PagodaBox. Я получаю сильный инстинкт, что этот код в то время как «сторонний» относится ближе к коду моего приложения.
Если это правда, то она должна:
- Сядьте рядом с моими контроллерами в И/MyCompany/MyBundle/Controller/tcpdf.php
- быть с другими моими заказными написано услугами в И/MyCompany/MyBundle/внедрение зависимости/tcpdf.php
- Перейти в своем собственном каталоге под мою пачкой: ЦСИ/MyCompany/MyBundle/TCPDF/tcpdf.php
Если переместить эти два класса от/поставщика к одному из выше , я бы вывести его из контроллера с помощью инструкции «use», или мне нужно определить его в «services.yml»?
Надеюсь, это не вопрос обсуждения или мнения, но некоторые рекомендации, которые я пропустил или передовые практики, я не знаю, что знал бы опытный разработчик Symfony2.
Было бы разумным переключиться на композитор еще до того, как Symfony 2.1 готов?
Спасибо за чтение.
Может быть, вы должны рассмотреть возможность использования пучков с открытым исходным кодом, такие как этот TCPDF пачка: https://github.com/ioalessio/IoTcpdfBundle и этого платежной пачка: https://github.com/schmittjoh/JMSPaymentPaypalBundle – Paulpro
IoTcpdf кажется в основном TCPDF мост для вывода шаблонов Twig в виде PDF-файлов: не что-то, что мне нужно. Он не включает Tcpdf внутри себя, он говорит, что Tcpdf вручную вводит в каталог поставщика, чего я пытаюсь избежать. Предложение Мэтта более актуально. Сегодня я посмотрел на JMSPayment, и хотя мне бы хотелось использовать его когда-нибудь, у него много зависимостей, и в документации нет подробных сведений о том, как использовать его в качестве простого интерфейса к API Paypal. –