asgard/http

Maintainers

Details

github.com/asgardphp/http

Source

v0.3.1 2016-05-13 11:31 UTC

This package is not auto-updated.

Last update: 2024-05-03 04:54:26 UTC


README

#HTTP

Build Status

Library to handle HTTP requests, routing, controllers and responses.

##Installation If you are working on an Asgard project you don't need to install this library as it is already part of the standard libraries.

composer require asgard/http 0.*

##Request & Response

Handling HTTP requests and building responses. See the documentation.

$request = \Asgard\Http\Request::createFromGlobals();
//...
return (new \Asgard\Http\Response)->setCode(404)->setContent('not found :(');

##Controllers

Structure your code around controllers. See the documentation.

/**
 * @Prefix("products")
 */
class ProductController extends \Asgard\Http\Controller {
	/**
	 * @Prefix("index")
	 */
	public function indexAction(\Asgard\Http\Request $request) {
		//...
	}

	/**
	 * @Prefix("search")
	 */
	public function searchAction(\Asgard\Http\Request $request) {
		//...
	}
}

##Utils

The package comes with tools. See the documentation.

###HTML

#in the controller or the page view
$html->includeJS('query.js');
$html->includeCSS('style.css');

#in the layout view
$html->printAll();

###Flash

#in the controller
$flash->addSuccess('Hurray!);

#in the view
$flash->showAll();

###Browser

$browser = new \Asgard\Http\Browser\Browser($httpKernel, $container);
$browser->getSession()->set('admin_id', 123);

$response = $browser->post('admin/news/new', ['title'=>'foo']);

if($response->getCode() !== 200)
	echo 'error..';
else
	echo $response->getContent();

##Commands

List of commands that come with the HTTP package.

###Contributing

Please submit all issues and pull requests to the asgardphp/asgard repository.

License

The Asgard framework is open-sourced software licensed under the MIT license