Я установил emanueleminotto/simple-html-dom
с помощью composer
,
Как я могу использовать классы из пакета без ошибок?
Заметка: Я использую XAMPP для запуска сценариев PHP.
Сообщение об ошибке:
Неустранимая ошибка PHP: необработанная ошибка: класс ‘simple_html_dom’ не найден в C: \ xampp \ htdocs \ Practice \ PHP \ scrape_1.php: 3
Трассировки стека:добавляется в C: \ xampp \ htdocs \ Practice \ PHP \ scrape_1.php в строке 3
Неустранимая ошибка: необработанная ошибка: класс ‘simple_html_dom’ не найден в C: \ xampp \ htdocs \ Practice \ PHP \ scrape_1.php: 3
Трассировки стека:добавляется в C: \ xampp \ htdocs \ Practice \ PHP \ scrape_1.php в строке 3
После запуска
$ 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.
по-видимому emanueleminotto/simple-html-dom
не использует пространство имен, поэтому по умолчанию используется глобальное пространство имен. чистое решение будет включать в себя vendor/autoload.php
(созданный / созданный / обновленный композитором) и использующий классы / функции, добавляя \
, чтобы указать глобальное пространство имен … если только вы сами не работаете в глобальном пространстве имен, в этом случае вам не нужно предварительно добавлять.
Вы должны быть в состоянии просто использовать их. Если я правильно понял, весь пакет — это всего лишь один файл, который автоматически загружается композитором.
Если вы включите vendor/autoload.php
файл в вашем скрипте PHP, вы должны хорошо идти с классами в пакете.