1. De onde surgiu a idéia de juntar o WordPress com o Laravel?
Fui dono de uma agência de publicidade durante nove anos e tínhamos clientes de todo tipo, porte, etc. Um desses clientes, em 2013, tinha um portal todo desenvolvido em WordPress, mas suas necessidades eram muito customizadas, com muitas pessoas envolvidas no projeto, inclusive jornalistas de fora do Brasil. Assim, em virtude de toda a base do projeto já estar criada, resolvi criar uma nova camada utilizando algum framework MVC, de maneira a separar melhor as funções de cada pessoa envolvida, porém, utilizando tudo que já estava pronto no back-end, que no caso era em WordPress. Assim, escolhemos utilizar o Laravel para o front-end, mas mantendo o WordPress como gerenciador de conteúdo do portal.
2. Quais os benefícios dessa integração?
Existem casos e casos. A utilização do Corcel consiste na instalação de um pacote via Composer. Eu, particularmente, vejo a utilização do Corcel em dois principais casos: o primeiro seria para interligar um blog em alguma aplicação já existente, de maneira que utilizaria o WordPress para gerenciar este blog separadamente da aplicação. A aplicação somente iria consultar os dados vindos do WP. O segundo caso seria utilizar literalmente o WordPress como back-end app e qualquer outro framework PHP no front-end. Assim você pode ter uma estrutura bem mais customizada, utilizando de MVC e demais padrões de projeto, sem deixar de lado o WordPress, que trabalharia como o fomentador de conteúdo por trás. Já tivemos casos de sucesso de integração do Corcel com Silex, Slim, CakePHP e principalmente Laravel, como foi feito no portal alemão https://mitvergnuegen.com/. A grande vantagem do Corcel é que você tem tudo separado, podendo ter os models da sua aplicação, que consultam o banco de dados dela, e os models do Corcel, que consultam o banco de dados do WordPress, tudo junto, mas separado rs.
3. Em quais tipos de aplicações o Corcel pode ser usado?
O Corcel pode ser usado em qualquer aplicação PHP (antiga ou nova). O Corcel é um pacote Composer, então a única coisa que você precisa é ter uma integração com ele, o que se resume em incluir o arquivo “vendor/autoload.php”. Você pode ter qualquer aplicação, desde Slim, Silex, PHP puro, Zend Framework, Symfony, etc, que basta incluir o pacote do Corcel e você já consegue utilizar todos os modelos customizados, como Page::slug('about')->title
para pegar o título da página cujo slug é “about”, por exemplo.
4. O Corcel é um projeto concluso ou você está trabalhando em novas features para ele?
O Corcel começou bem pequeno, em 2013, mas atualmente já possui todo o banco de dados do WordPress mapeado em forma de models e classes, inclusive com relacionamentos, como Post::find(1)->author->name
. Temos desenvolvedores de nove países ajudando no projeto. Nosso esforço hoje é criar integrações no front-end para conciliar com o padrão do WordPress no back-end, como, por exemplo, autenticação. Atualmente você consegue se autenticar no Painel do WordPress usando a classe Auth do Laravel. Ainda temos várias novas features em andamento, como integração com plugins de SEO e Tradução, por exemplo. Temos muito trabalho pela frente ainda, e toda ajuda é sempre bem vinda.
A mensagem que gostaria de deixar com esta palestra é principalmente sobre a importância de criar e/ou contribuir com projetos open source. É cada vez maior a quantidade de empresas que analisam este ponto a fundo, sendo inclusive fator de decisão na contratação de um novo desenvolvedor. Contribuir com projetos open source é muito bom, faz bem pro currículo e principalmente pro aprendizado. Existem projetos muito bacanas que ajudam a vida de muita gente, criado por pessoas de dentro do seu país e até mesmo de sua cidade. Contribua você também.
Junior Grossi é um dos palestrantes do WordCamp BH 2016.
Ainda não fez sua inscrição? Clique aqui e se inscreva.