nkey / caribu-mvc
Tiny (M)VC Pattern framework
v1.0
2017-04-22 05:33 UTC
Requires
- php: >=5.6
- nkey/phpgenerics: ~1.0
- psr/log: ~1.0
Requires (Dev)
- pdepend/pdepend: ~2.0
- phploc/phploc: ~3.0
- phpmd/phpmd: ~2.0
- phpunit/phpunit: ~5.0
- sebastian/phpcpd: ~3.0
- squizlabs/php_codesniffer: 3.0.0RC4
- theseer/phpdox: ~0.9
This package is auto-updated.
Last update: 2025-03-01 00:09:47 UTC
README
caribu-mvc
Tiny annotation based MVC framework
For now only a simple example, what you can do with Caribu MVC.
composer.json:
{ "require" : { "nkey/caribu-mvc" : "dev-master", "nkey/phpgenerics" : "dev-master", "psr/log" : "1.0.0" } }
public/index.php:
<?php require dirname(__FILE__) . '/../vendor/autoload.php'; use \Nkey\Caribu\Mvc\Controller\AbstractController; use \Nkey\Caribu\Mvc\Controller\Request; use \Nkey\Caribu\Mvc\Application; use \Nkey\Caribu\Mvc\View\AbstractView; use \Generics\Logger\ExtendedLogger; /** * A simple test controller * * @author Maik Greubel <greubel@nkey.de> * * This file is part of Caribu MVC package */ class IndexController extends AbstractController { /** * @webMethod * * @title Hey there page */ public function index() { echo "Hey, there!\n\n"; } /** * @responseType text/plain * * @param \Nkey\Caribu\Mvc\Controller\Request $request */ public function paramTest(Request $request) { foreach ($request->getParams() as $param => $value) { printf("%s => %s\n", $param, $value); } } } // Preparing Application::getInstance()->registerController('IndexController') ->setLogger(new ExtendedLogger()); // Serving Application::getInstance()->serve();
Then in your browser window open http://host/ and see the output of index() web method. The address http://host/index, as well as http://host/index/index provides the same functionality.
Surf to http://host/index/paramTest/param1/Hello/param2/Caribu or to get the same output the address http://host/index/paramTest?param1=Hello¶m2=Caribu
Documentation follows soon in wiki.