(Intercon) wordpress como framework de desenvolvimento

Preview:

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.

Obrigado.ricardo.zein@gmail.com