47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Domain\Recettes;
|
|
|
|
use App\Domain\Controller;
|
|
use App\Domain\Ingredients\IngredientRepository;
|
|
use App\Domain\Tags\TagRepository;
|
|
use App\Http\JSONResponse;
|
|
use App\Http\Request;
|
|
use App\Infrastructure\View;
|
|
|
|
class RecettesController extends Controller {
|
|
|
|
public static function defineRoutes(): array
|
|
{
|
|
return [
|
|
self::Route( routeUrl: '/recettes', routeName: 'recettes->index', routeAction: 'index', pageHeadTitle: 'Liste des recettes' ),
|
|
self::Route( routeUrl: '/recettes/{string}', routeName: 'recettes->show', routeAction: 'show', pageHeadTitle: 'Recette' ),
|
|
];
|
|
|
|
}
|
|
|
|
public function index(): View {
|
|
|
|
$page = Request::get( 'page' );
|
|
if( $page == null )
|
|
$page = 1;
|
|
|
|
return new View( 'recettes/index', [
|
|
'tagsList' => new TagRepository()->getAll(),
|
|
'ingredientsList' => new IngredientRepository()->getAll(),
|
|
'recettesList' => new RecetteRepository()->getAllRecettesBrowse( $page ),
|
|
] );
|
|
}
|
|
|
|
public function show( string $slug ): View {
|
|
|
|
$recette = new RecetteRepository()->getBySlug( $slug );
|
|
if( !$recette )
|
|
die( "Recette not found" );
|
|
|
|
return new View( 'recettes/show', [
|
|
'recette' => $recette,
|
|
]);
|
|
}
|
|
|
|
} |