Zdravím,
už několik týdnů si stavím malý framework abych se naučil v MVC.
Největší překážkou pro mně byl asi Depencency Injection Container. Ten se
mi za pomoci container.thephpleague.com povedlo
implementovat a za pomoci lidí zde a na stackoverflow to oživit.
Rád bych se ale ujistil, že jdu správnou cestou a proto bych rád uvítal
radu od někoho kdo tomu více rozumí.
Nějak takto vypadá moje struktura:
index.php
//..Autoloader trid, autoloader composeru a configu.// Initialize Dependency Injection container and add classes$di = new League\Container\Container;
$di->share('database', 'Database');
$di->share('json', 'Json');
$di->share('latte', function(){
$latte = new Latte\Engine;
$latte->setTempDirectory(NULL);
return$latte;
});
// Initialize and run router$routerController = new RouterController();
$routerController->process($di);
RouterController.php
use League\Container\Container;
class RouterController
{
publicfunction process(Container $di)
{
$router = new AltoRouter();
//..Mapping cest// Match current request url$match = $router->match();
//..Podminky existence a podobne ve kterych se pri spravne vysledku spusti kod nize...//Add model to DIC and resolve dependencies$di->share($class, $class)
->withArgument('json')
->withArgument('database');
//Add controller to DIC and resolve dependencies$di->share($controller, $controller)
->withArgument('latte')
->withArgument('json')
->withArgument($match['params'])
->withArgument($class);
//Call controller with action$di->get($controller)->$action();
}
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.