Я работаю над проектом Symfony 2.2, в котором мне нужно загрузить видео в Vimeo. Я использую расширенный API Vimeo через Vimeo.php (официальная библиотека Vimeo)
Мне удалось добавить пространство имен в библиотеку и добавить его в папку объектов в моем пакете, потому что это единственный способ, которым проект обнаруживал библиотеку.
<?php
**namespace MediaBundle\Entity;**
use Symfony\Component\Security\Core\Exception\InvalidCsrfTokenException as Exception;
class Vimeo
{
.... Vimeo.php Code ....
}
?>
Я пытаюсь найти лучший способ интегрировать эту библиотеку в свой код. Я попытался поместить в папку vendor/vimeo и автоматически загрузить его из app/autoload.php.
Без пространства имен:
$loader->registerPrefixes(array(
'Vimeo_' => __DIR__.'/../vendor/vimeo/lib',
));
С пространством имен:
$loader->registerNamespaces(array(
'Vimeo' => __DIR__.'/../vendor/vimeo/lib',
));
Класс по-прежнему не распознается в контроллере.
Чтобы автоматизировать процесс, я попытался использовать пакет композитора dukt/vimeo, это в основном та же библиотека, просто обертка в композитор. Он помещает его в autoload_namespaces.php, но я все еще не могу использовать его ни в одном контроллере. Его всегда не найти.
Возможно, я не ставлю правильный оператор использования. Код autoload_namespaces.php:
'Dukt\\Vimeo' => $vendorDir . '/dukt/vimeo/src/',
В /dukt/vimeo/src
есть класс Vimeo.php с namespace Dukt;
. Каким должен быть мой оператор использования в контроллере?
Пожалуйста, дайте мне знать, как лучше всего интегрировать стороннюю библиотеку в мои проекты Symfony2. Я бы продолжил использовать его через объект, но я получаю некоторые ошибки, я думаю, что API не работает должным образом из объекта из-за ошибок пути обратного вызова. Хотя я могу ошибаться. Тем не менее, я хотел бы правильно включить его.