<?php
namespace Jaxon\Features;
use Psr\Log\LoggerInterface;
trait App
{
/**
* Get the Jaxon application bootstrapper.
*
* @return \Jaxon\App\Bootstrap
*/
protected function bootstrap()
{
return jaxon()->di()->getBootstrap();
}
/**
* Get the Jaxon response.
*
* @return \Jaxon\Response\Response
*/
public function ajaxResponse()
{
return jaxon()->getResponse();
}
/**
* Get an instance of a registered class
*
* @param string $sClassName The class name
*
* @return mixed
*/
public function instance($sClassName)
{
return jaxon()->instance($sClassName);
}
/**
* Get a request to a registered class
*
* @param string $sClassName The class name
*
* @return \Jaxon\Request\Factory\CallableClass\Request
*/
public function request($sClassName)
{
return jaxon()->request($sClassName);
}
/**
* Get a package instance
*
* @param string $sClassName The package class name
*
* @return \Jaxon\Plugin\Package
*/
public function package($sClassName)
{
return jaxon()->package($sClassName);
}
/**
* Get the request callback manager
*
* @return \Jaxon\Request\Handler\Callback
*/
public function callback()
{
return jaxon()->callback();
}
/**
* Determine if a call is a Jaxon request.
*
* @return boolean
*/
public function canProcessRequest()
{
return jaxon()->canProcessRequest();
}
/**
* Get the HTTP response
*
* @param string $code The HTTP response code
*
* @return mixed
*/
abstract public function httpResponse($code = '200');
/**
* Process an incoming Jaxon request, and return the response.
*
* @return mixed
*/
abstract public function processRequest();
/**
* Get the HTML tags to include Jaxon CSS code and files into the page.
*
* @return string the javascript code
*/
public function css()
{
return jaxon()->getCss();
}
/**
* Get the HTML tags to include Jaxon CSS code and files into the page.
*
* @return string the javascript code
*/
public function getCss()
{
return jaxon()->getCss();
}
/**
* Get the HTML tags to include Jaxon javascript files into the page.
*
* @return string the javascript code
*/
public function js()
{
return jaxon()->getJs();
}
/**
* Get the HTML tags to include Jaxon javascript files into the page.
*
* @return string the javascript code
*/
public function getJs()
{
return jaxon()->getJs();
}
/**
* Get the javascript code to be sent to the browser.
*
* @return string the javascript code
*/
public function script($bIncludeJs = false, $bIncludeCss = false)
{
return jaxon()->getScript($bIncludeJs, $bIncludeCss);
}
/**
* Get the javascript code to be sent to the browser.
*
* @return string the javascript code
*/
public function getScript($bIncludeJs = false, $bIncludeCss = false)
{
return jaxon()->getScript($bIncludeJs, $bIncludeCss);
}
/**
* Get the view renderer
*
* @return \Jaxon\Utils\View\Renderer
*/
public function view()
{
return jaxon()->view();
}
/**
* Get the session manager
*
* @return \Jaxon\Contracts\Session
*/
public function session()
{
return jaxon()->session();
}
/**
* Get the logger
*
* @return LoggerInterface
*/
public function logger()
{
return jaxon()->logger();
}
/**
* Sets a logger.
*
* @param LoggerInterface $logger
*/
public function setLogger(LoggerInterface $logger)
{
jaxon()->setLogger($logger);
}
}
|