asgard / http
Requires
- php: >=5.5.9
- asgard/common: ~0.3.0
- asgard/container: ~0.3.0
- asgard/debug: ~0.3.0
- asgard/file: ~0.3.0
- asgard/hook: ~0.3.0
- asgard/templating: ~0.3.0
- doctrine/annotations: ^1.0
Suggests
- asgard/cache: ~0.3.0
This package is not auto-updated.
Last update: 2024-11-15 07:17:21 UTC
README
#HTTP
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