Upload
ricardo-zein
View
523
Download
0
Embed Size (px)
Citation preview
Wordpress como framework de desenvolvimentoWordpress pode ser utilizado como um framework de desenvolvimento?
WordPress
O que se diz hoje: “WordPress não é um framework!”
O que se dizia ontem: “WordPress não é um CMS!”
WordPress é o que você quer ele seja (com bom senso).
Frameworks PHP
AWESOME!
MVC
MVC
=
MVC
=
MVC e WordPress
Posts - Páginas - Categorias Media - Custom Post Types
Custom Taxonomies - Meta dados
MVC
single.php, index.php, page.php, single-custom.php, etc...
MVC
functions.php
O que se espera de um framework?
Facilidade no acesso e manipulação de dados
Frameworks WordPress
$wpdb->query($sql);
WP_Query;
O que se espera de um framework?
Template engine
Frameworks WordPress
● Blade (Laravel)● Smarty● RainTPL● TWIG
Templates de páginas, posts, singles, etc..Centenas de template tags com as mais variadas funçoes.● Sidebar● Header● Footer● Menus
O que se espera de um framework?
Cache
Frameworks WordPress
Exemplo no Laravel:
$value = Cache::remember('users', $minutes, function(){ return DB::table('users')->get();});
//Query$result = $wpdb->get_results( $query );//Grava no cache (não persistente)wp_cache_set( 'user', $result );//Grava por 12 horasset_transient( 'user', $result, 68*68*12 );
O que temos disponível no WordPress?
Framework features Equivalência no Wordpress (sem gambiarra!)
Acesso a Banco de dados $wpdb->query($sql); WP_Query;
Cache wp_cache_set( $key, $data, $group, $expire );wp_cache_get( $key, $group );
Autenticação wp_authenticate(); wp_signon(); wp_logout();
Theming Suporte para child themes, centenas de template tags, sidebars, menus de navegação, thumbnails personalizados, cabeçalhos personalizados, etc...
Tratamento de erros e logging WP_Error(); @ini_set('log_errors','On');
Biblioteca de extenções Mais de 21K plugins.
Internacionalização printf(__('Estão presentes %d convidados no Intercon.'), $count);
Como fazer?
Antes de tudo. Se organize.
Como fazer?
Não comece tudo do zero.
_s
Como fazer?
Mantenha a complexidade fora do template.
Noticias::ultimas($args);
Como fazer?
Descentralize o seu functions.php
Crie classes e as mantenha em arquivos separados incluindo cada um no functions.php.
Como fazer?
Sugestão de classes para começar
Como fazer?
Sugestão de classes para começar
Como fazer?
Sugestão de classes para começar
Como fazer?
Mais do que um blog?
Mais do que um CMS?
O WordPress da conta do recado.