Как запросить пакет, установленный через Composer

Я установил 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

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.

2

Другие решения

по-видимому emanueleminotto/simple-html-dom не использует пространство имен, поэтому по умолчанию используется глобальное пространство имен. чистое решение будет включать в себя vendor/autoload.php (созданный / созданный / обновленный композитором) и использующий классы / функции, добавляя \, чтобы указать глобальное пространство имен … если только вы сами не работаете в глобальном пространстве имен, в этом случае вам не нужно предварительно добавлять.

1

Вы должны быть в состоянии просто использовать их. Если я правильно понял, весь пакет — это всего лишь один файл, который автоматически загружается композитором.

Если вы включите vendor/autoload.php файл в вашем скрипте PHP, вы должны хорошо идти с классами в пакете.

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector