SlideShare a Scribd company logo
1 of 22
Download to read offline
Wordpress como
framework de
desenvolvimento
Wordpress 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 horas
set_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

More Related Content

What's hot

Arquitetura CSS - Uma rápida introdução
Arquitetura CSS - Uma rápida introduçãoArquitetura CSS - Uma rápida introdução
Arquitetura CSS - Uma rápida introduçãoMatheus Lucca do Carmo
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação webCentro Paula Souza
 
Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Andréa Zambrana
 
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...Giovanni Bassi
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Sapo Sessions - Web Mobile
Sapo Sessions - Web MobileSapo Sessions - Web Mobile
Sapo Sessions - Web MobileBruno Carreira
 
Curso de WordPress - Não Sei Programar - Cristiano Santos
Curso de WordPress - Não Sei Programar - Cristiano SantosCurso de WordPress - Não Sei Programar - Cristiano Santos
Curso de WordPress - Não Sei Programar - Cristiano Santosaluni_ead
 
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSRomulo Fagundes
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e SaúdeCleber Dantas
 

What's hot (15)

Arquitetura CSS - Uma rápida introdução
Arquitetura CSS - Uma rápida introduçãoArquitetura CSS - Uma rápida introdução
Arquitetura CSS - Uma rápida introdução
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 
Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?Acessibilidade web, perda de tempo?
Acessibilidade web, perda de tempo?
 
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...
Azure Summit Brasil 2013: Javascript do cliente para a nuvem com Windows 8, N...
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
 
Angularjs
AngularjsAngularjs
Angularjs
 
Sapo Sessions - Web Mobile
Sapo Sessions - Web MobileSapo Sessions - Web Mobile
Sapo Sessions - Web Mobile
 
Curso de WordPress - Não Sei Programar - Cristiano Santos
Curso de WordPress - Não Sei Programar - Cristiano SantosCurso de WordPress - Não Sei Programar - Cristiano Santos
Curso de WordPress - Não Sei Programar - Cristiano Santos
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
Tema 4 | Sessão
Tema 4 | SessãoTema 4 | Sessão
Tema 4 | Sessão
 
[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde
 
Programando Javascript sem jQuery
Programando Javascript sem jQueryProgramando Javascript sem jQuery
Programando Javascript sem jQuery
 

Viewers also liked

Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5
Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5
Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5Johnny Salazar Reidel
 
Ricardo Zein - WordPress como framework de desenvolvimento
Ricardo Zein - WordPress como framework de desenvolvimentoRicardo Zein - WordPress como framework de desenvolvimento
Ricardo Zein - WordPress como framework de desenvolvimentoiMasters
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
WordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteWordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteFlávio Ricardo B. Meira
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )Michael Douglas
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Evandro Júnior
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 

Viewers also liked (10)

Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5
Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5
Palestra Joomla Day Rio - Case Portal Unisinos com Joomla 3.1.5
 
Ricardo Zein - WordPress como framework de desenvolvimento
Ricardo Zein - WordPress como framework de desenvolvimentoRicardo Zein - WordPress como framework de desenvolvimento
Ricardo Zein - WordPress como framework de desenvolvimento
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Conhecendo o WordPress
Conhecendo o WordPressConhecendo o WordPress
Conhecendo o WordPress
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
WordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteWordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu site
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 

Similar to Wordpress como framework de desenvolvimento

ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Word camp sp 2017 willian marques
Word camp sp 2017   willian marquesWord camp sp 2017   willian marques
Word camp sp 2017 willian marquesWillian Marques
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Content Management System CMS: Wordpress
Content Management System CMS: WordpressContent Management System CMS: Wordpress
Content Management System CMS: Wordpressrenancavichi
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
WordPress para quem gosta de php
WordPress para quem gosta de phpWordPress para quem gosta de php
WordPress para quem gosta de phpRicardo Moraleida
 
Programando razor
Programando razorProgramando razor
Programando razorVitor Reis
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPressHaste Design
 

Similar to Wordpress como framework de desenvolvimento (20)

Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Word camp sp 2017 willian marques
Word camp sp 2017   willian marquesWord camp sp 2017   willian marques
Word camp sp 2017 willian marques
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Content Management System CMS: Wordpress
Content Management System CMS: WordpressContent Management System CMS: Wordpress
Content Management System CMS: Wordpress
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
WordPress para quem gosta de php
WordPress para quem gosta de phpWordPress para quem gosta de php
WordPress para quem gosta de php
 
Php
PhpPhp
Php
 
Programando razor
Programando razorProgramando razor
Programando razor
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPress
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 

Wordpress como framework de desenvolvimento

  • 1. Wordpress como framework de desenvolvimento Wordpress pode ser utilizado como um framework de desenvolvimento?
  • 2. 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).
  • 4. MVC
  • 7. MVC e WordPress Posts - Páginas - Categorias Media - Custom Post Types Custom Taxonomies - Meta dados
  • 10. O que se espera de um framework? Facilidade no acesso e manipulação de dados Frameworks WordPress $wpdb->query($sql); WP_Query;
  • 11. 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
  • 12. 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 horas set_transient( 'user', $result, 68*68*12 );
  • 13. 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);
  • 14. Como fazer? Antes de tudo. Se organize.
  • 15. Como fazer? Não comece tudo do zero. _s
  • 16. Como fazer? Mantenha a complexidade fora do template. Noticias::ultimas($args);
  • 17. Como fazer? Descentralize o seu functions.php Crie classes e as mantenha em arquivos separados incluindo cada um no functions.php.
  • 18. Como fazer? Sugestão de classes para começar
  • 19. Como fazer? Sugestão de classes para começar
  • 20. Como fazer? Sugestão de classes para começar
  • 21. Como fazer? Mais do que um blog? Mais do que um CMS? O WordPress da conta do recado.