PHP PhantomJS没有通过Composer在类中加载

时间:2015-03-09 09:51:34

标签: php composer-php mamp

我已经跟随installation guide了解 PHP PhantomJS 。使用PHP PhantomJS运行测试脚本时,我收到错误:

PHP Fatal error: Class 'JonnyW\PhantomJs\Client' not found in ...

我之前没有使用过Composer,所以我可能会忽略一些东西。我是从MAMP运行的,所以可能有一些细节与文档中没有提到的相关。如果我在浏览器中打开测试脚本,我会得到一个空白屏幕。它只是从终端运行php得到Fatal error

脚本失败的行是:

$client = Client::getInstance();

因此我认为它没有从Composer正确加载。我可以验证/binphantomjs还是phantomloader

我应该采取哪些步骤才能正确加载PHP PhantomJS脚本?

- 更新 -

test.php (直接取自PHP PhantomJS示例)

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();

$request  = $client->getMessageFactory()->createRequest();
$response = $client->getMessageFactory()->createResponse();

$request->setMethod('GET');
$request->setUrl('http://google.com');

$client->send($request, $response);

if($response->getStatus() === 200) {
    echo $response->getContent();
}

1 个答案:

答案 0 :(得分:11)

如果您自己不使用作曲家自动加载器,则必须在脚本中加入。

require 'vendor/autoload.php';

这是作曲家自动生成的自动加载脚本。 见https://getcomposer.org/doc/01-basic-usage.md#autoloading

我担心使用语句不会处理自动加载,它只会定义命名空间以查找 Client 类。