Skip to content

emergesource/elphpfw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elusivelabs PHP Framework

A Django inspired modular MVC for PHP.

Route to any psr4 class and use it as a controller

...
$routes->add('controller', new Route( '/', [
    'controller' => 'MyModule\MyController', 
    'action' => 'index'
]));
...

Actions return content & status

    ... 
    public function index()
    {
        return['content', 200] 
    }
    ...
Or, if you omit the status, it will default to 200
    ... 
    public function index()
    {
        return 'content';
    }
    ...

Your controller does not depend on a base class

<?php namespace MyModule;

class MyController
{
    public function index()
    {
        return ['some content', 200];
    }
}

Use the template trait to have access to the rendering engine

<?php namespace MyModule;

class MyControlller
{
    use TemplateTrait;

    public function index()
    {
        $content = $this->getTemplate()->render('index.html');
        return [$content, 200];
    }
}

Inject objects into the constructor of your controller

<?php namespace MyModule

use Symfony\Component\HttpFoundation\Request;

class MyController()
{
    protected $request;

    public function __construct(Request $request)
    {
        $this->request = $request; 
    }
}

About

A Django inspired modular MVC for PHP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published