| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- Introduction
- =============
- PHP PhantomJS is a flexible PHP library to load pages through the PhantomJS
- headless browser and return the page response. It is handy for testing
- websites that demand javascript support and also supports screen captures.
- Feature List
- ---------------------
- * Load webpages through the PhantomJS headless browser
- * View detailed response data including page content, headers, status code etc.
- * Handle redirects
- * View javascript console errors
- * View detailed PhantomJS debuged information
- * Save screen captures to local disk
- * Define screen capture x, y, width and height parameters
- * Delay page rendering for a specified time
- * Execute PhantomJS with command line options
- * Easily build and run custom PhantomJS scripts
- Prerequisites
- ---------------------
- PHP PhantomJS requires PHP **5.3.0** or greater to run.
- Installation
- ---------------------
- It is recommended that you use Composer to install PHP PhantomJS. First add the following to your composer.json file:
- ```xml
- "scripts": {
- "post-install-cmd": [
- "PhantomInstaller\\Installer::installPhantomJS"
- ],
- "post-update-cmd": [
- "PhantomInstaller\\Installer::installPhantomJS"
- ]
- }
- ```
- This will ensure the latest version of PhantomJS is install for your system, in your bin folder. If you haven't defined your bin folder in your composer.json, add the path:
- ```xml
- "config": {
- "bin-dir": "path/to/bin/dir"
- }
- ```
- Finally, install PHP PhantomJS from the root of your project:
- ```xml
- composer require "jonnyw/php-phantomjs:3.*"
- ```
- If you would like to use another installation method or would like to see more detailed installation instructions, see the [installation](http://jonnnnyw.github.io/php-phantomjs/installation.html) documentation.
- Basic Usage
- ---------------------
- The following illustrates how to make a basic GET request and output the page content:
- ```php
- <?php
- use JonnyW\PhantomJs\Client;
- $client = Client::getInstance();
- /**
- * @see JonnyW\PhantomJs\Message\Request
- **/
- $request = $client->getMessageFactory()
- ->createRequest('http://google.com', 'GET');
- /**
- * @see JonnyW\PhantomJs\Message\Response
- **/
- $response = $client->getMessageFactory()->createResponse();
- // Send the request
- $client->send($request, $response);
- if($response->getStatus() === 200) {
- // Dump the requested page content
- echo $response->getContent();
- }
- ```
- And if you would like to save a screen capture to local disk:
- ```php
- <?php
- use JonnyW\PhantomJs\Client;
- $client = Client::getInstance();
- /**
- * @see JonnyW\PhantomJs\Message\Request
- **/
- $request = $client->getMessageFactory()->createCaptureRequest('http://google.com', 'GET');
- $request->setCaptureFile('/path/to/save/capture/file.jpg');
- /**
- * @see JonnyW\PhantomJs\Message\Response
- **/
- $response = $client->getMessageFactory()->createResponse();
- // Send the request
- $client->send($request, $response);
- ```
- For more detailed examples see the [examples](http://jonnnnyw.github.io/php-phantomjs/examples.html) section, or to create your own custom scripts check out the [advanced](http://jonnnnyw.github.io/php-phantomjs/advanced.html) documentation.
|