Правильное использование черты в классе (Droath / RoboGoogleLighthouse) - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь заставить php сгенерировать отчет о маяке, используя https://github.com/droath/robo-google-lighthouse, пример на этой странице - это то, что я пытаюсь использовать. Я получаю сообщение об ошибке, когда оно достигает строки $ this-> taskGoogleLighthouse () в моем классе. Ошибка говорит: Неустранимая ошибка: необработанная ошибка: невозможно создать экземпляр черты Droath \ RoboGoogleLighthouse \ Task \ loadTasks в {расположение моих проектов} \ htdocs \ classes \ backup.class.php в строке xxx

Я пытался вызвать это с помощью new ($ t = new loadTasks (), затем с помощью $ t вместо $ this, но опять же это не сработало. Сначала я использовал вызов php exec для прямого вызова lighthouse, но был анодом Модуль, который я не мог понять, как ввести URL-адрес в файл узла js использует.

Я разрабатываю это на машине win 10 с wamp64 под управлением PHP 7.0.10.

Я использую собственный автозагрузчик, но он находит правильные классы / черты, проверенные с помощью new. Как бы это работало с чертой?

Вот соответствующая часть класса резервного копирования, который я использую

<?php
use Droath\RoboGoogleLighthouse\Task\loadTasks;

class backup
{
    public function generateLighthouseReport( $mode = 'default') {
        switch ( $mode ) {
            case 'default':
            default:
                $report = $this->getLighthouseReport( $dequeueMethod );
                break;
            case 'json':
                $report = $this->getLighthouseReport( $dequeueMethod,'--output json' );
                break;
            case 'json-folder':
                $report = $this->getLighthouseReport($dequeueMethod, '--output-path=./lighthouse/' . 'report' . '.json --output json' );
                break;
            case 'html-folder':
                $report = $this->getLighthouseReport($dequeueMethod, '--output-path=./lighthouse/' . 'report' . '.html --output html' );
        }
    }

    private function getLighthouseReport( $dequeueMethod, $config = '--view' ) {
        $url = 'https://google.com';
        $path = '/tmp/example.html';
        $this->taskGoogleLighthouse()
            ->setUrl($url)
            ->performanceTestOnly()
            ->setOutputPath($path)
            ->run();
        $aResult = array();
    }
}

Как уже упоминалось, библиотека roboGoogleLighthouse находится в папке моего поставщика (устанавливается вместе с composer)

Я не понимаю, как этот код может вызывать черту или почему это не так. Я что-то упустил из виду?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...