2013-03-26 5 views
2

Vimeo에 비디오를 업로드해야하는 Symfony 2.2 프로젝트에서 작업 중입니다. Vimeo.php (official library of Vimeo)Symfony2 프로젝트에 제 3 자 라이브러리를 올바르게 통합하는 방법

프로젝트에 라이브러리를 감지하는 유일한 방법이기 때문에 라이브러리에 네임 스페이스를 추가하고이를 프로젝트 번들의 엔티티 폴더에 추가 할 수있었습니다.

<?php 
**namespace MediaBundle\Entity;** 

use Symfony\Component\Security\Core\Exception\InvalidCsrfTokenException as Exception; 

class Vimeo 
{ 
    .... Vimeo.php Code .... 
} 
?> 

이 코드를이 코드에 통합하는 더 좋은 방법을 찾으려고합니다.

$loader->registerNamespaces(array(
    'Vimeo' => __DIR__.'/../vendor/vimeo/lib', 
)); 

클래스 : 네임 스페이스와

$loader->registerPrefixes(array(
    'Vimeo_' => __DIR__.'/../vendor/vimeo/lib', 
)); 

: 나는 네임 스페이스가 없으면 공급 업체/비 메오 폴더 및 응용 프로그램/autoload.php

에서 자동로드를에 배치하는 것을 시도했다 여전히 컨트롤러에서 인식되지 않습니다.

작곡가 패키지 dukt/vimeo을 사용해 보았던 과정을 자동화하기 위해, 그것은 기본적으로 작곡가로 래퍼와 동일한 라이브러리입니다. 그것은 autoload_namespaces.php에 저장하지만, 여전히 어떤 컨트롤러에서도 사용할 수 없습니다. 항상 발견되지 않습니다.

아마도 올바른 사용 문을 넣지 않을 것입니다. autoload_namespaces.php 코드는 다음과 같습니다

'Dukt\\Vimeo' => $vendorDir . '/dukt/vimeo/src/', 

namespace Dukt;/dukt/vimeo/src에 Vimeo.php 클래스가있다. 컨트롤러에서 내 사용 선언문은 무엇이되어야합니까?

제 3 자 라이브러리를 Symfony2 프로젝트에 통합하는 가장 좋은 방법은 무엇이 있는지 알려주십시오. 엔티티를 통해 계속 사용 하겠지만 오류가 발생합니다. 콜백 경로 오류로 인해 API가 엔티티에서 제대로 작동하지 않는다고 생각합니다. 나는 틀릴 수 있었다. 아무리 제대로 포함시키려는 것이 적다.

답변

2

작곡가를 통해 the wrapper package을 설치하십시오. 모든 자동 로딩 작업을 처리합니다.

+0

답장을 보내 주셔서 감사합니다. 이미 패키지를 설치하려고했습니다. 심지어 자동으로 설치되어 autoload_namespaces.php 파일에 추가되지만 use 문은 여전히 ​​필요한 클래스를 찾을 수 없습니다. 자세한 내용은 질문의 후반 부분을 읽어보십시오. 다시 한번 감사드립니다. –

+0

라이브러리가 네임 스페이스가 아니기 때문에 'use'문은별로 쓸모가 없습니다. 대신 클래스 이름 앞에 백 슬래시를 붙입니다. 다음과 같이 : $ vimeo = new \ phpVimeo(); – Cerad

+0

패키지의 클래스 이름이 phpVimeo에서 Vimeo로 변경되었으며 Dukt와 이름 공간이있는 것으로 보입니다. 그래서 \ Dukt(), \ Dukt \ Vimeo(), \ Vimeo() 및 아무것도 작동하도록 시도했다. 나는 왜 간단한 라이브러리를 포함하는 것이 그렇게 많은 문제를 일으키는 지 알지 못합니다. 다른 아이디어가 있으면 알려주십시오. 감사! –

관련 문제