A framework that combines some modules. necessary to create a full-fledged web application.
composer require drmvc/framework
More examples you can find here.
<?php
require_once __DIR__ . '/../vendor/autoload.php';
$config = new \DrMVC\Config();
$config->load(__DIR__ . '/../app/database.php', 'database');
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
$app = new \DrMVC\App($config);
$app
->get('/', \MyApp\Controllers\Index::class . ':default') //-> public function action_default()
->get('/zzz', \MyApp\Controllers\Index::class) //-> public function action_index()
->get('/zzz/<action>', \MyApp\Controllers\Index::class)
->get('/aaa', function(Request $request, Response $response, $args) {
print_r($args);
});
echo $app->run();<?php
namespace MyApp\Controllers;
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
class Index
{
public function action_index(Request $request, Response $response, $args)
{
$out = [
'dummy',
'array'
];
$json = json_encode($out);
header('Content-Type: application/json');
$response->getBody()->write($json);
}
public function action_defaultRequest $request, Response $response, $args)
{
$out = [
'test1',
'test2'
];
$json = json_encode($out);
header('Content-Type: application/json');
$response->getBody()->write($json);
}
}If you found the bug, please report about this on GitHub Issues page.
First need to install all dev dependencies via composer update, then
you can run tests by hands from source directory via ./vendor/bin/phpunit command.
- DrMVC Framework
- Slim - Is a PHP micro framework, I really like how there are implemented the PSR-4 conception.
- SimpleMVC - it was a very exciting project, before the author renamed this to Nova
- Phalcon - Simple and clean code of your application
