Introducción a PHP-2017

Toma las primeras clases gratis

Bien, básicamente crearemos un controlador más donde escribiremos el código de vista del Post.

<?php
	namespace App\Controllers;

	use App\Models\BlogPost;
	
	class ViewController extends BaseController{
		public function getPost($id){
			$blogPost = BlogPost::find($id);
			return $this->render('view-post.twig', ['blogPost' => $blogPost]);
		}
	}

Para continuar, agregaremos una nueva vista…

{% extends "layouts/layout.twig" %}

{% block content %}
	
	<center>
		<h2> {{ blogPost.title }} </h2>
	</center>
	{% if blogPost.img_url %}
		<p>
			<img src="{{ blogPost.img_url }}" width="100%" height="200px" />
		</p>
	{% endif %}
	<p> {{ blogPost.content }} </p>
	<p> {{ blogPost.created_at }}</p>
{% endblock %}

Por último, iremos a nuestro archivo donde tenemos las rutas y agregaremos una nueva

$router->controller('/', App\Controllers\ViewController::class);

Para explicar rapidamente, creamos un nuevo controlador más que todo por orden, ya que si quisiera una vista unitaria para cada usuario podemos agregar ahí la función.
En cuanto a la ruta, para accede a cada post quedaría por ejemplo

_**../public/post/{post_id}**_

Con eso agregarían al index en el listado de posts, cada uno con un link con su id correspondiente. 😃

Introducción a PHP-2017

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados