olamedia/freestyle

Freestyle PHP Framework

0.3 2015-06-21 00:46 UTC

This package is auto-updated.

Last update: 2024-05-04 11:26:26 UTC


README

Freestyle framework

!DRAFT!

Request, response

if (request::isPost()){
    // process form
    response::redirect('/url/path');
}
response::on(404, function(){
    // custom handler, bind controller action to customize output message
});
if ($condition){
    response::notFound();
}

Controller

myController::run();
myController::run('/base/url/path/');
myController::run('/', array('option' => 'value'));
myController extends freestyle\controller{
    public function header(){
        echo '<div class="my-wrapper">';
    }
    public function footer(){
        echo '</div>';
    }
    public function action(){
        $value = $this->_action;
        $this->runController('valueController', array('value' => $value));
    }
    public function initSomeAction(){
        $app = $this->app(); // root controller
        $this->rel(); // construct url path relative to controller root (index) action
        $this->rel('relative/path');
        $this->arel(); // construct url path relative to current action
        $this->arel('relative/path');
        
        // instead of response::notFound(), this forces exit from all controllers,
        // out of application controller, 
        // as if there was no action method found:
        return $this->notFound(); 
    }
    public function showName($name = 'default'){ // /name action
        // $name comes from $_POST or $_GET
        echo 'Hello, '.htmlspecialchars($name).'!';
    }
    public function init(){ // root(index) action
        response::redirect($this->rel('name'));
    }
    public function show(){ // root(index) action
    }
}