我已经跟随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正确加载。我可以验证/bin
是phantomjs
还是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();
}
答案 0 :(得分:11)
如果您自己不使用作曲家自动加载器,则必须在脚本中加入。
require 'vendor/autoload.php';
这是作曲家自动生成的自动加载脚本。 见https://getcomposer.org/doc/01-basic-usage.md#autoloading
我担心使用语句不会处理自动加载,它只会定义命名空间以查找 Client 类。