Download 
 
 
  
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 <[email protected]>
 *
 *         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. 
 |