Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Bonjour cher tous. Heureux de vous retrouver.
Suis coincé et ai besoin de votre majestueuse pour résoudre un problème dans mon code.
<?php
namespace App\Blog;
use Framework\Module;
use App\Framework\Renderer\RendererInterface;
use Framework\Router;
use Psr\Http\Message\ServerRequestInterface as Request;
class BlogModule extends Module
{
const DEFINITIONS= __DIR__ . '/config.php';
public function __construct(string $prefix, Router $router, RendererInterface $renderer)
{
$this->renderer = $renderer;
$this->renderer->addPath('blog', __DIR__ . '/views');
$router->get($prefix, [$this, 'index'], 'blog.index');
$router->get($prefix . '/{slug:[a-z\-0-9]+}', [$this, 'show'], 'blog.show');
}
public function index(Request $request): string
{
return $this->renderer->render('@blog/index');
}
public function show(Request $request): string
{
return $this->renderer->render('@blog/show', [
'slug' => $request->getAttribute('slug')
]);
}
}
Ce que je veux
Lancer ma page sur le navigateur et que ça marche.
Ce que j'obtiens
Fatal error: Uncaught TypeError: Argument 2 passed to App\Blog\BlogModule::construct() must be an instance of Framework\Router, string given, called in /var/www/monFramework/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php on line 146 and defined in /var/www/monFramework/src/Blog/BlogModule.php:14 Stack trace: #0 /var/www/monFramework/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(146): App\Blog\BlogModule->construct('prefix', '/blog', Object(App\Framework\Renderer\TwigRenderer)) #1 /var/www/monFramework/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(73): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\AutowireDefinition), Array) #2 /var/www/monFramework/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(64): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\AutowireDefinition), Array) #3 /var/www/monFramework/vendor/php-di/php-di/src/Container.php(377): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI in /var/www/monFramework/src/Blog/BlogModule.php on line 14