SlideShare une entreprise Scribd logo
1  sur  22
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 
(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimentoRicardo Zein
 
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
 
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
 

En vedette (6)

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
 
(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento
 
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
 
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.
 

Similaire à Ricardo Zein - 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
 

Similaire à Ricardo Zein - 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
 

Plus de iMasters

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesiMasters
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisiMasters
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoiMasters
 

Plus de iMasters (20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen Moraes
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
 

Ricardo Zein - 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.