2017-09-12 9 views
3

emanueleminotto/simple-html-dom을 통해 composer을 설치했습니다.Composer를 통해 설치된 패키지를 요구하는 방법

오류없이 패키지의 클래스를 어떻게 사용할 수 있습니까?

참고 : 저는 XAMPP를 사용하여 PHP 스크립트를 실행합니다.

오류 메시지 : 기본 글로벌 네임 스페이스를 사용하여 있도록

PHP Fatal error: Uncaught Error: Class 'simple_html_dom' not found in C:\xampp\htdocs\Practice\PHP\scrape_1.php:3 Stack trace:

0 {main}

thrown in C:\xampp\htdocs\Practice\PHP\scrape_1.php on line 3

Fatal error: Uncaught Error: Class 'simple_html_dom' not found in C:\xampp\htdocs\Practice\PHP\scrape_1.php:3 Stack trace:

0 {main}

thrown in C:\xampp\htdocs\Practice\PHP\scrape_1.php on line 3

+0

오류가 발생 했습니까? –

답변

2

실행 한 후

$ composer install 

는 (전면 컨트롤러의 웹 응용 프로그램 또는,) 스크립트 파일의 상단에 vendor/autoload.php에서 생성 된 자동 로더를 필요로한다.

그런 다음 모든 자동로드 된 클래스를 스크립트에서 사용할 수있게됩니다.

<?php  

require_once __DIR__ . '/vendor/autoload.php'; 

$htmlDom = new simple_html_dom_node(); 

참고로 https://getcomposer.org/doc/01-basic-usage.md#autoloading을 참조하십시오.

1

분명히 emanueleminotto/simple-html-dom 네임 스페이스를 사용하지 않습니다. 깔끔한 해결책은 vendor/autoload.php (작곡가에 의해 생성/생성/업데이트 됨)을 포함하고, 글로벌 네임 스페이스를 나타 내기 위해 \을 붙임으로써 클래스/함수를 사용하는 것입니다. 앞에 붙이지 않아도 돼.

1

그냥 사용할 수 있어야합니다. 그 말이 맞다면 전체 패키지는 실제로 작곡가가 오토로더를 사용하는 하나의 파일 일뿐입니다.

vendor/autoload.php 파일을 PHP 스크립트에 포함 시키면 패키지의 클래스와 함께 사용해도 좋습니다.