leni_m
@leni_m
ЧупаКобрус

Почему use не понимает внутри function?

в обычном файле test.php пишу и работает:
<?php

ob_start();
include 'file.php';
$html = ob_get_contents();
ob_end_clean();

require_once '/dompdf/lib/html5lib/Parser.php';
require_once '/dompdf/lib/php-font-lib/src/FontLib/Autoloader.php';
require_once '/dompdf/lib/php-svg-lib/src/autoload.php';
require_once '/dompdf/src/Autoloader.php';
Dompdf\Autoloader::register();

// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml($html);

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream('test.pdf',['compress' => 1, 'Attachment' => 0]);

а пытаюсь тоже самое добавить в экшн контроллера
public static function actionTest()
{
    ...
}

и получаю ошибку
Parse error: syntax error, unexpected 'use' (T_USE) in D:\OSPanel\domains\...\DownloadController.php on line 462
Как мне все-таки избежать ошибок?
  • Вопрос задан
  • 2474 просмотра
Решения вопроса 1
@Yan-s
php.net/manual/ru/language.namespaces.php

я не понимаю о чем вы, что за методы

php.net/manual/ru/language.oop5.php

Вы должны вынести use из метода и класса или не использовать use.

PS
Для тех кто в танке и желает там остаться: переместите use Dompdf\Dompdf; в верх файла, в строку перед сlass ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы