2013-04-28 2 views
2

저는 휴식 전화를 걸기위한 새로운 PHP lib 디렉토리 unirest을 사용하려고합니다.이름 공간이있는 Unirest php lib 사용

내 프로젝트 위의 시스템 전체 디렉토리에 배치하고 싶습니다. 나는 다음을 포함한다 :

require_once ('../unirest-php-master/lib/Unirest/Unirest.php');

로드 잘. 그럼 난 추가 정보에 따라 사용 : 23

내가 다음에 시도 라인에서 클래스 'Unirest가'에 ... 그래서 hello_world를 찾을 수 없습니다/sign_start.php :

$response = Unirest::post(CSWA_URL ....

나는 치명적인 오류 네임 스페이스를 사용 (라이브러리의 code가. 그들은 Unirest 클래스를 선언하기 전에 Namespace Unirest 문을 사용하십시오.)

$response = Unirest\Unirest::post(CSWA_URL ....

나는 더있어. Now : 치명적인 오류 : 'unirest \ HttpMethod'클래스가 없습니다 .... unirest-php-master/lib/Unirest/Unirest.php on line 26 - 이것은 라이브러리 코드의 오류입니다!

Q : 잘못된 것이 있습니까? Unirest의 저자들은 실수를 했습니까? 라이브러리를 ./lib에 넣어야합니까? 가장 좋은 것은 무엇입니까?

답변

6

Unirest.php의 Unirest 코드는 unirest lib 디렉토리 (HttpMethod.php 및 HttpResponse.php)의 다른 두 파일에서 자동 로딩 코드를 사용합니다.

저자는 composer을 사용하여 패키지를 설치하는 것이 좋습니다. 작곡가가 생성하는 autoloader.php 스크립트에 Unirest 네임 스페이스를 추가하는 것이 좋습니다. 거기에서 스크립트 상단에 autoload.php 파일을 요구해야하며 정의되지 않은 클래스를로드하는 것을 처리합니다.

다른 방법으로, 작곡가를 사용하고 싶지 않다면, 스크립트 상단의 unirest lib 디렉토리에도 다른 두 파일이 필요합니다.

+1

감사합니다. @ 콜린. 작곡가 사용이 불분명하기 때문에 라이브러리 문서에 대한 문서 버그 보고서를 보내 드리겠습니다. –

+0

나는 문서 작성자와 함께 사용하거나 사용하지 않는 방법을 문서 작성자가 매우 분명하게 확신 할 수있다. –

관련 문제