Este documento presenta buenas prácticas para desarrollar código mantenible en WordPress, incluyendo el uso de MVC, inyección de dependencias, y Twig como motor de plantillas. Se explican conceptos como crear controladores y rutas personalizadas, reemplazar el bucle principal, y renderizar plantillas a través de filtros. El objetivo es producir código portable y desacoplado siguiendo patrones como el de inyección de dependencias.
2. De qué va esta charla
Abrir perspectiva sobre buenas prácticas de
desarrollo sobre este CMS
Mostrar código mantenible, cercano al que
crearíamos con Symfony2, Silex o Laravel
9. Request y ejecución
1. Se recibe la petición HTTP
2. El sistema de routing hace el match de la ruta que
coincida con la url de la petición
3. Se crea el objeto WP_Query y las query_vars
4. En base al WP_Query se localiza el template
5. Se retorna el resultado
http://codex.wordpress.org/Plugin_API/Action_Reference
10. Request y ejecución
1. /category/animales = index.php?category=animales
2. new WP_Query( array( “category” => “animales”) );
3. theme/category.php
11. Inyección de dependencias
Nos permite hacer más portable y desacoplado
nuestro código.
• Pimple
• Symfony Dependency Injection
12. Inyección de dependencias
$container[“blog.repository”] = function ($c) use ($wp_query){
return new WP_BlogRepository( $wp_query );
};
$container[“blog.model”] = function($c){
return new BlogModel( $c[“blog.repository”] );
}
21. Rutas en WordPress
Al crear la WP_Query, se incluyen los anteriores
parámetros:
$wp_query->query_vars[“post_type”]
$wp_query->query_vars[“category”]
$wp_query->query_vars[“custom”]