Pensar fora da caixa

Uma frase muito comum em nossos dias: pensar fora da caixa.

Isso denota alguém que olha para o que todos olham e consegue ver algo que ninguém ou poucos veem.

Imaginemos duas pessoas olhando para uma vara, tipo um cabo de vassoura. Caso a primeira pessoa esteja olhando para o cabo em pé e na vertical elá irá ver o que praticamente todos conhecem, que é um cabo de vassoura. Mas se colocarmos o cabo de vassoura na horizontal, de forma que apareça apenas aquela rodinha que representa a seção transversal do cabo devassoura, a segunda pessoa estará vendo apenas a pequena rodinha e não o cabo. Espero ter me feito compreender.

O que quero dizer é que o que vemos é algo que tem muito a ver com toda a nossa experiência, nossas características, nossos interesses ou apreensões. Portanto não vemos o que todos vêem, mas cada um tem uma visão própria.

Citando algo do meu trabalho e estudo. O CMS Joomla, que é uma ferramente usada para facilitar a criação de sites, tem um código bem profissional e consequente complexo. Orientado a objetos, usa MVC e ainda com mais de 3 camadas.

Eu já criava minhas extensões para o Joomla de forma bem simplificadas. Desde ontem que tento receber o valor de um parâmetro do xml no php de um componente do Jooomla 4. Pesqisei muito, perguntei no grupo Joomla Brasil do FB. Cheguei a me cadastrar no grupo internacional e perguntei por lá, mas sem sucwaao. Também cheguei a dar uma olhada em alguns componentes do Jomla e de terceiros, mas desisti disso, pois a complexidade do código me espanta. Cheguei inclusive a perguntar ao Oráculo do momento, que é o ChatGPT, mas também sem sucesso.

Acontece que o Joomla tem diversas regras na construção de suas extensões e o componente é a mais complexa delas. Usa MVC, mas não são apenas 3 camadas, tem rotas, as views têm templates, etc. Tem instalador e muito mais. Pra ter uma ideoa um simples helloworld tem 45 arquivos. Tudo isso praticamente em componente não funcional, apenas para atender as regras do Joomla: MVC, helper, tempalte, etc.

Então, hoje, me veio uma ideia, se não consigo puxar o valor de um parâmetro que está no xml para o php, então vou adicionar um formulário no próprio php, que será mostrado no painel administrativo e que recebe um campo. Este campo é enviado ao código seguinte. Assim além de resolver o problema do parâmetro, ainda mostro o form no administrator para receber o campo do usuário. Beleza. Deu trabalho, mas somente para implementar a ideia, pois agora para ensinar fica extremamente simples.

Já o componente que criei, que efetua backup completo do site, tanto dos arquivos, quanto do banco, tem apenas 2 arquivos simples mais 4 arquivos de idioma.

Está aqui

https://github.com/ribafs2/joomla/blob/main/extensoes/com_backup.zip