<?php
namespace App\Contract;

use App\Alias\RemoteConnection;
use App\Definition\Contract;
use App\Service\Money;
use App\Service\Remote;
use App\Service\View as ViewService;
use GuzzleHttp\Client;

class View
{
	use Contract;

	protected static function newInstance()
	{
		$remote = new Remote(new RemoteConnection());
		$money = (new Money(new Client([
			'base_uri' => "http://{$remote->getIP()}:8008",
			'headers' => ['Accept' => 'application/json']
		])));
		return new ViewService(['money' => $money]);
	}
	public static function show($template, $variables = null)
	{
		$instance = self::getInstance();
		return $instance->show($template, $variables);
	}
}
?>
