1. Go to this page and download the library: Download shetabit/extractor library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shetabit / extractor example snippets
# In your providers array.
'providers' => [
...
Shetabit\Extractor\Providers\ExtractorServiceProvider::class,
]
// at the top
use Shetabit\Extractor\Classes\Request;
//...
// create new request
$request = new Request();
// set api's url and method
$request->setUri($url)->setMethod('get');
// run the request and get data
$response = $request->fetch();
var_dump($response); // show given response
use Shetabit\Extractor\Classes\Request;
//...
$request = new Request();
# Example 1:
$request
->setUri('http://your-site.com')
->setMethod('post')
// add some headers
->addHeader('Authorization', "Bearer dfaerfaeaeva1351adsfaecva")
->addHeader('Accept', 'application/json')
// add form parameters
->addFormParam('email', $email)
->addFormParam('password', $password);
$response = $request->fetch(); // run request
# Example 2:
$request
->setUri('http://your-site.com')
->setMethod('get')
// add query string
->addQuery('page', $page)
->addQuery('s', $search);
$response = $request->fetch(); // run request
use Shetabit\Extractor\Classes\Request;
use Shetabit\Extractor\Contracts\RequestInterface;
// ...
$request = new Request;
$responses = $request
->createBag()
->addRequest(function(RequestInterface $request) {
$request->setUri('http://google.com/');
})
->addRequest(function(RequestInterface $request) {
$request->setUri('http://bing.com/');
})
->fetch();
use Shetabit\Extractor\Classes\Request;
use Shetabit\Extractor\Contracts\RequestInterface;
// ...
$request = new Request;
# Example 1: using on success
$response = $request
->setUri('http://google.com/')
->onSuccess(function (ResponseInterface $response, RequestInterface $request) {
echo $response->getBody();
})
->fetch();
# Example 2: using on error
$response = $request
->setUri('http://yahoo.com/')
->onSuccess(function (ResponseInterface $response, RequestInterface $request) {
echo 'success';
})
->onError(function (ResponseInterface $response, RequestInterface $request) {
echo 'fail';
});
# Example 3: using request's bag
$response = $request
->createBag()
->addRequest(function (RequestInterface $request) {
$request
->setUri('http://google.com/')
->onSuccess(function (ResponseInterface $response, RequestInterface $request) {
echo $response->getBody();
});
})
->addRequest(function (RequestInterface $request) {
$request
->setUri('http://yahoo.com/')
->onSuccess(function (ResponseInterface $response, RequestInterface $request) {
echo 'success';
})
->onError(function (ResponseInterface $response, RequestInterface $request) {
echo 'fail';
});
})
->fetch();
public function handle($request, Closure $next) {
if($user->name == 'john') {
$request->addQuery('name', 'john');
}
return $next($request);
}
public function handle($request, Closure $next)
{
$response = $next($request);
// Perform action
return $response;
}
// in your AppServiceProvider
protected boot()
{
Request::withGlobalMiddlewares([
// list of middlewares
]);
}
// at the top
use Shetabit\Extractor\Classes\Request;
$url = 'http://google.com/';
$response = (new Request)
->setUri($url)
->withoutMiddleware(new TestMiddleware)
->fetch();
// at the top
use Shetabit\Extractor\Classes\Request;
$url = 'http://google.com/';
$ttl = 5; // 5 seconds
$response = (new Request)->setUri($url)->cache($ttl)->fetch();
// at the top
use Shetabit\Extractor\Classes\Request;
$url = 'http://google.com/';
$ttl = now()->addMinutes(10); // 10 minutes
$response = (new Request)->setUri($url)->cache($ttl)->fetch();
namespace App\Http\RemoteRequests\Clients\Auth;
use Shetabit\Extractor\Abstracts\MicroClientAbstract;
use Shetabit\Extractor\Contracts\ResponseInterface;
class Login extends MicroClientAbstract
{
protected $mobile;
protected $password;
public function __construct($username, $password = null)
{
$this->username = $username;
$this->password = $password;
parent::__construct();
}
/**
* Get requests' endpoint
*
* @return string
*/
protected function getEndPoint()
{
return 'http://yoursite.com/api/v1/auth';
}
/**
* Run client
*
* @return ResponseInterface
* @throws \Exception
*/
public function run() : ResponseInterface
{
$response = $this
->request
->setUri($this->getEndPoint())
->setMethod('post')
->addFormParam('username', $this->username)
->addFormParam('password', $this->password)
->fetch();
return $response;
}
}
// dump data
$username = 'test';
$password = 'something';
$client = new Login($username, $password);
// run client and login into remote service (remote api)
$response = $client->run();
// dump show response's body
var_dump($response->getBody());
shell
php artisan make:extractor-middleware test
bash
php artisan make:extractor-client clientName
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.