Я установил PDFlib (следовал инструкциям PDFlib в PHP Как сделать) на OS X, добавив extension=php_pdflib.so
в мой файл php.ini, и он загружен правильно.
(Если я бегу phpinfo();
PDFlib отображается в списке.)
Однако, если я попытаюсь использовать его с
$p = new PDFlib();
я получил Parse error: syntax error, unexpected '$p' (T_VARIABLE)
Что может вызвать эту ошибку?
РЕДАКТИРОВАТЬ
Ошибка была просто вызвана отсутствующей точкой с запятой …
Теперь я получаю Class 'App\Http\Controllers\PDFlib' not found
что отчасти очевидно, потому что я не зарегистрировал его в контроллере с use
,
я думал new PDFlib()
доступен для глобального использования после установки?
Вы упускаете понятие пространств имен. В этом случаеPDFlib
доступно в глобальном пространстве имен, которое \
, Другими словами, вы можете импортировать его с use PDFlib;
, или вы можете использовать его напрямую без импорта, как это $p = new \PDFlib();
,
теперь я получаю класс ‘App \ Http \ Controllers \ PDFlib’ не найден.
Я в значительной степени сомневаюсь, что у вас есть PDFlib в вашем Controllers
поэтому кажется, что вашему коду, использующему PDFlib, просто не хватает use
для ссылки на правильное пространство имен PDFlib (или вместо этого вам нужно использовать полностью определенные пространства имен).
Если PDFlib не использует пространство имен, то из кода пространства имен вам нужно использовать \
чтобы достичь этого, т.е.
$x = new \PDFlib();