for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace seregazhuk\PinterestBot\Factories;
use seregazhuk\PinterestBot\Api\Request;
use seregazhuk\PinterestBot\Api\Response;
use seregazhuk\PinterestBot\Helpers\Cookies;
use seregazhuk\PinterestBot\Api\CurlHttpClient;
use seregazhuk\PinterestBot\Api\ProvidersContainer;
class PinterestBot
{
/**
* Initializes Bot instance and all its dependencies.
*
* @return ProvidersContainer
*/
public static function create()
$request = self::makeRequest();
$response = self::makeResponse();
return self::buildProvidersContainer($request, $response);
}
* @return Request
protected static function makeRequest()
$httpClient = self::buildHttpClient();
return new Request($httpClient);
* @return Response
protected static function makeResponse()
return new Response();
* @return CurlHttpClient
protected static function buildHttpClient()
return new CurlHttpClient(new Cookies());
* @param $request
* @param $response
protected static function buildProvidersContainer(Request $request, Response $response)
return new ProvidersContainer($request, $response);
private function __construct()
private function __clone()