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