Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 4.19 KB

File metadata and controls

15 lines (8 loc) · 4.19 KB

Justificando a Criação deste Aplicativo

Eu tinha poucos conhecimentos de orientação a objetos e MVC, especialmente insuficientes para a criação de um aplicativo completo usando MVC, com pastas separadas e namespace. Então comecei minha peregrinação para chegar a este conhecimento. Me cadastrei em alguns grupos de PHP, alguns em português e outros em inglês (consigo ler razoavelmente em inglês e escrever). Procurei ajuda nos grupos e também efetuei diversas pesquisas por tutoriais em português e em inglês, por vídeos em português e também exemplos prontos no GitHub.

Durante minha pesquisa muita gente sugeriu a adoção do framework Slim como base, especialmente na versão 4, que permite adicionar o próprio container. Acontece que eu quero um aplicativo com o qual possa criar CRUDs e o Slim está longe disso e dará mais trabalho para chegar lá, sem contar que para mim o código é complexo. Os grandes frameworks fazem isso e até entendo alguns, como Laravel e CakePHP, mas eu não tenho conhecimento para tirar deles uma estrutura mínima como pretendo. Até criei alguns plugins para o Cake, mas não tenho a disposição para estudar seu código, entender sua estrutura e tirar daí algo simples para meu uso.

Num dos grupos recebi uma resposta interessante. Alguém disse que quando alguém pergunta como criar seu próprio framework é que ainda não está pronto para criar. Faz um certo sentido, mas aí percebi uma lacuna que tentarei preencher. E se eu conseguir descer o nível de conhecimento ao ponto de alcançar quem está próximo disso? Algo como alguém que já atingiu um degrau superior de uma escada e estende a mão para quem está no degrau imediatamente abaixo.

Uma grande vantagem do software livre e open é que todo o código está na nossa frente. Mas para saber usar, para saber mexer e customizar precisamos conhecer. Caso contrário ser livre e open não irá adiantar muita coisa. Como os programadores focam em criar o código não resta tempo nem interesse em documentar, em criar algo com grande simplicidade. O resultado é que a coisa fica fica num círculo meio fechado, que somente os experts tem acesso. Por favor, sei que estou generalizando e talvez até exagerando, mas estou querendo dizer que existe uma grande lacuna que precisa ser preenchida para que o software livre cresça ainda mais. Não teria sentido aqui criticar colegas que somente criam código, me entenda. Um forte exemplo é o Linus Torvalds que criou o Linux. Já viu a página dele? Eu já vi e há alguns anos eu o critiquei numa lista (alguém sabe o queu é?) me vangloriando de que meu site tinha mais informação do que o dele. Imaturidade da minha parte, pois o fato de ele não ter uma página com muito conteúdo não tira o mérido dele da criação do Linux. Cada um de nós tem um papel em todo o sistema, alguns fazem uma aprte, outros fazem outra. Bem, eu pretendo dar minha contribuição para que este quadro mude, de forma mais democrática.

Pesquisei muito e então decidi usar como ponto de partida o aplicativo mini3, encontrado no GitHub e que consegui fazer funcionar perfeitamente. Este atendeu minhas expectativas e foi construído para ser simples, bem feito, além de bem documentado, de forma que consegui entender corretamente e efetuar customizações. Deste (mini3 - https://github.com/panique/mini3) eu criei um fork e customizei, chamando de mini-mvc e publiquei no GitHub (https://github.com/ribafs/mini-mvc). Traduzi o README e os comentários, adicionei novos models, controllers e views.

Agora estou partindo do mini-mvc para criar este projeto, que chamei de php-app-mvc (https://github.com/ribafs/php-app-mvc), mas agora procurando detalhar o mesmo e mostrar como foi criado, além de adicionar novos recursos importantes.

Durante a minha pesquisa encontrei uma estatística (não lembro onde) que a grande maioria dos aplicativos criados em PHP não usa framework. Imagino que uma grande contribuição para isso seja por conta de que a maioria dos programadores seja iniciante, mas não somente. Realmente, para muitos projetos não há necessidade nem é adequado o uso de um framework para sua construção, o php sozinho é suficiente, no máximo usando alguns pacotes de terceiros via composer.