ahmedzidan / laravel-phantomjs
Use phantom-js in laravel
1.1.4
2019-10-13 10:57 UTC
Requires
- php: ^7.1
- josh/php-phantomjs: ^4
- laravel/framework: ^5|^6
Requires (Dev)
- phpunit/phpunit: ^7.0
README
Laravel PhantomJs Client
Using phantomjs client in laravel
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)