Una vez creada una extensión, estamos listos para mostrar un "Hola mundo".
Para empezar, debemos crear una carpeta con el nombre de la extensión en app/. Continuaremos con el ejemplo de la extensión posts, por lo que el directorio será:
app/posts/
Allí crearemos el archivo controlador. Como el punto de acceso será el frontend, tendrá por nombre FrontPostsController.php. Dentro, estará la clase de igual nombre que extiende de la clase Controller, el método público index, que será llamado por defecto y nuestro texto como valor de retorno.
<?php
// app/posts/FrontPostsController.php
class FrontPostsController extends Controller
{
/**
* Index
*/
public function index()
{
return 'Hola mundo';
}
}
Para ver en pantalla el resultado, debemos apuntar a https://sitio-web/posts. También, es posible ver el resultado en la raíz, si configuramos la extensión como predeterminada.
Para utilizar una vista, debemos crear, dentro de la carpeta de la extensión, el archivo views/front/Index.php.
<?php
// app/posts/views/front/Index.php
return 'Hola mundo';
El controlador será:
<?php
// app/posts/FrontPostsController.php
class FrontPostsController extends Controller
{
/**
* Index
*/
public function index()
{
return $this->view();
}
}
Para utilizar un modelo, debemos crear, dentro de la carpeta de la extensión, el archivo models/PostsModel.php. Dentro, estará la clase de igual nombre que extiende de la clase Model, y un método público con un nombre significativo.
<?php
// app/posts/models/PostsModel.php
class PostsModel extends Model
{
/**
*
*/
public function getHelloWord()
{
return [
'message' => 'Hola mundo'
];
}
}
Note que el modelo siempre debe devolver un arreglo.
El controlador será:
<?php
// app/posts/FrontPostsController.php
class FrontPostsController extends Controller
{
/**
* Index
*/
public function index()
{
return $this->view(null, (new PostsModel)->getHelloWord());
}
}
y la vista deberá modificarse, para devolver la variable $message.
<?php
// app/posts/views/front/Index.php
return $message;