Looking to hire Laravel developers? Try LaraJobs

laravel-phantomjs maintained by ahmedzidan

Description
Use phantom-js in laravel
Last update
2019/10/13 12:57 (dev-develop)
License
Links
Downloads
8

Comments
comments powered by Disqus

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Say Thanks!

Laravel PhantomJs Client

Using phantomjs client in laravel

Full documentation

Requirement

Install

Via Composer

$ composer require ahmedzidan/laravel-phantomjs

Config

Add the following provider to providers part of config/app.php

Josh\Component\PhantomJs\PhantomJsServiceProvider::class

and the following Facade to the aliases part

'PhantomJs' => Josh\Component\PhantomJs\Facade\PhantomJs::class

and then you can run vendor:publish command for generating phantomjs config file

$ php artisan vendor:publish --provider="Josh\Component\PhantomJs\PhantomJsServiceProvider"

Now you can config your phantomjs client in config/phantomjs.php file

Basic Usage

The following illustrates how to make a basic GET request and output the page content:

On Load Finished

// Tells the client to wait for all resources before rendering

$request = \PhantomJs::get('http://phantomjs.org/');

\PhantomJs::isLazy()->send($request);
// you can use Facade or app make function to use phantomjs
// ex: app('phantomjs') or \PhantomJs

$request = \PhantomJs::get('http://phantomjs.org/');

$response = \PhantomJs::send($request);

if($response->getStatus() === 200) {

    // Dump the requested page content
    echo $response->getContent();
}

Saving a screen capture to local disk:


$request = \PhantomJs::createImage('http://phantomjs.org/', 'GET');

$request->setOutputFile(public_path('file.jpg'));

$request->setViewportSize(800, 600);

$request->setCaptureDimensions(800, 600, 0, 0);

$response = \PhantomJs::send($request);

if($response->getStatus() === 200) {

    // Dump the requested page content
    echo $response->getContent();
}

Outputting a page as PDF:

$request = \PhantomJs::createPdf('http://phantomjs.org/', 'GET');
$request->setOutputFile(public_path('document.pdf'));
$request->setFormat('A4');
$request->setOrientation('landscape');
$request->setMargin('1cm');

$response = \PhantomJs::send($request);

if($response->getStatus() === 200) {

    // Dump the requested page content
    echo $response->getContent();
}

License

The MIT License (MIT)