logo

Paleta - Deixe colorido🎨

Palette — Construtor visual de páginas. Não precisa ser designer.

Demonstração ao vivo Baixar Palette

Scroll

Lições de PHP - Parte 3 - Criando seu próprio CMS

08/12/2019, by Ivan

Criar sites em CMS não se limita apenas a Drupal, Joomla e Wordpress. No mundo, a maioria dos sites é feita em CMSs personalizados. Apesar de já existir muito código escrito em PHP, os programadores frequentemente usam seus próprios desenvolvimentos. Vamos tentar entender por que usar seu próprio CMS.

Sim, existe Drupal, um sistema poderoso com muitos módulos, hooks e funções para criar seus próprios módulos. Muitas pessoas sabem escrever seus próprios módulos, mas vamos ver quantas pessoas trabalham na criação do próprio Drupal. Você provavelmente leu que Drupal é trabalho de centenas ou até milhares de programadores. Mas vamos ainda ver quem faz Drupal.

Na página de download do Drupal, existe um bloco com uma lista de programadores trabalhando no núcleo do Drupal, ou seja, no próprio CMS.

drupal.org/node/3060/committers?sort=desc&order=Commits

E nesta página, uma lista de programadores com seus commits no núcleo. E então a lista:

Desenvolvedor Último commit Primeiro commit Commits
Dries 3 days ago 11 years ago 10501 commits
webchick 5 days ago 3 years ago 3108 commits
Gábor Hojtsy 2 days ago 4 years ago 1635 commits
Steven 4 years ago 11 years ago 1156 commits
drumm 1 year ago 5 years ago 764 commits
killes@www.drop.org 4 years ago 6 years ago 506 commits
Kjartan 5 years ago 11 years ago 383 commits
catch 2 days ago 21 weeks ago 329 commits
Jeroen 10 years ago 11 years ago 101 commits
Git Migration 1 year ago 10 years ago 38 commits
jhodgdon 2 days ago 3 days ago 3 commits
quicksketch 16 weeks ago 16 weeks ago 3 commits
pillarsdotnet 23 weeks ago 23 weeks ago 2 commits

Vamos começar pela lista:

Dries

Dries (10k commits) - nome completo Dries Buytaert, fundador do projeto Drupal. Como você pode ver, o projeto Drupal tem mais de 11 anos. Dries criou a empresa Acquia, que fornece suporte técnico para sites Drupal (muito caro, ao contrário do próprio Drupal), bem como desenvolvimento do Drupal e seus módulos. Li em alguma entrevista com Dries que ele não mais se envolve diretamente no desenvolvimento do Drupal como programador, mas principalmente gerencia a empresa Acquia. Ele explicou essa grande quantidade de commits dizendo que recebe patches de núcleo já prontos e apenas os adiciona.

Webchickwebchick (3k commits) - nome completo Angie Byron, desenvolvedora da versão 7 do Drupal. Trabalha (trabalhava?) na empresa lullabot, embora em seu perfil em drupal.org diga que se você quiser contratá-la para trabalhar em seu site, deve entrar em contato com a empresa Acquia. Angie também desenvolveu Drush, um conjunto de scripts para trabalhar com Drupal através do console. Atualmente, Angie é uma das principais desenvolvedoras do Drupal.

GaborGábor Hojtsy - nome completo Gábor Hojtsy, um dos principais desenvolvedores da versão 6 do Drupal. Também desenvolveu recursos de internacionalização e tradução do Drupal para outros idiomas na versão 7 do Drupal.

Existem, é claro, outros desenvolvedores do núcleo, que trabalharam em uma parte do Drupal. Mas esses são os principais. Então não importa o quanto digam que Drupal é obra de milhares de programadores, o núcleo do Drupal é trabalho de algumas pessoas. Então até mesmo enormes CMSs são desenvolvidos por poucas pessoas.

Voltemos à pergunta inicial: por que desenvolver seu próprio CMS? Você se lembra de quanto tempo levou para aprender Drupal? Bem, alguns programadores gastam menos tempo criando um CMS do que aprendendo um CMS do tamanho do Drupal.

PHP é uma linguagem simples (comparada a outras linguagens), qualquer pessoa pode escrever código nela, conhecimento especial não é necessário (para coisas simples). Claro que com o tempo você precisará aprender muito para escrever um CMS escalável, mas por enquanto vamos ver as vantagens do seu próprio CMS:

1. Você sabe onde e o que você tem. Com que frequência você consulta o código taxonomy.module, comment.module? Não muito frequentemente, e você? Simplesmente não há necessidade. O código está escrito, as funções são documentadas, os templates podem ser substituídos. O que mais você precisa? Mas e se houver um problema ou erro? O que fazer? Escrever em drupal.org e esperar que os desenvolvedores do núcleo sobrecarregados respondam? Na minha opinião, isso não é uma solução.

2. Velocidade de trabalho alta. Não é segredo que Drupal funciona lentamente e faz muitas consultas ao banco de dados. Um CMS personalizado funcionará muito mais rápido. Mas há um lado negativo - no Drupal já existem módulos para otimização e cache, então esse problema existe apenas em hospedagem compartilhada.

3. Você é seu próprio chefe. Você pode ignorar a regra "não toque no núcleo" e editar direto no núcleo. Será muito conveniente e você não precisará esperar pelo lançamento de uma nova versão do núcleo para incluir suas edições.

Existem, é claro, desvantagens, mas... Não vamos falar sobre elas, é óbvio que Drupal é bom, não vamos dizer novamente por que é bom, todos sabem.

Então, você decidiu escrever seu próprio CMS, vamos começar.