PHP: terra de mil frameworks

Autor: Louise Ward
Data De Criação: 6 Fevereiro 2021
Data De Atualização: 18 Poderia 2024
Anonim
Let the environment guide our development | Johan Rockstrom
Vídeo: Let the environment guide our development | Johan Rockstrom

Contente

Pergunte-me qual estrutura usar e provavelmente terei um momento de velha mal-humorada e direi que todas as estruturas são tão ruins quanto as outras. O que não quer dizer que sejam todos ruins, exatamente, mas em PHP temos um número inimaginavelmente grande de frameworks (geralmente citados como N + 1, onde N é o número de desenvolvedores PHP no mundo), e todos provavelmente faziam sentido para a pessoa que os inventou.

Ter uma escolha de frameworks é provavelmente melhor do que tentar usar apenas um framework, independentemente do que exatamente você estava tentando construir, porque é o "melhor" (por qualquer medida de "melhor"). Essa seleção de ofertas de estrutura significa que você pode escolher algo que atenda às necessidades do projeto e pode até ser documentado. Frameworks em qualquer plataforma estão realmente lá para fornecer estrutura, módulos e bibliotecas reutilizáveis ​​e geralmente evitar todas as tarefas enfadonhas e repetitivas para construir a mesma funcionalidade continuamente. Por exemplo, ao construir CMSes, algo deve processar e validar os campos do formulário para mim; se deixado por minha própria conta, posso perder algo importante e prefiro muito mais fazer os elementos de cada projeto que são diferente, em vez dos que são sempre iguais!


Frameworks full-stack

Frameworks full-stack, como Zend Framework, podem ser um bom lugar para começar para um desenvolvedor sem muita experiência em arquitetura. Ele oferece uma boa estrutura para pendurar um novo aplicativo e há um bom 'ecossistema' em torno dele - muitos livros, tutoriais e alguma documentação razoável também. Se você está tentando construir um grande aplicativo que será mantido por muitas pessoas, então uma estrutura popular e abrangente provavelmente será uma boa escolha, pois ditará muitas estruturas e será bem conhecida e compreendida.

Ter estrutura para ajudar na separação é sempre bom; no início da minha carreira, trabalhei com alguns muito desenvolvedores juniores e tentaram ensiná-los o padrão MVC (Model View Controller), que era relativamente novo na época. Tomamos a decisão de usar o Smarty na camada de visualização; em parte para que os designers pudessem trabalhar com os modelos mais facilmente, e em parte para que alguém viesse à minha mesa e dissesse "como faço X com o Smarty?" Eu poderia dizer "não faça X na vista!" (nove em cada dez vezes, essa foi a resposta). Ter frameworks nos ajuda a encontrar a mesma separação em outras partes de nosso aplicativo. Muitos deles oferecem suporte à integração com uma camada de modelos como o Smarty, ou meu novo favorito, Twig, então você pode levar essas ferramentas com você, seja qual for o framework que escolher.


Aliviar a carga

Existem muitos frameworks mais leves que o Zend Framework, por exemplo, eu trabalho bastante com CodeIgniter. É tão abrangente e robusto quanto o Zend Framework? Não, não é. Mas, como uma estrutura auxiliar para permitir a construção de um aplicativo rapidamente, é útil. Em geral, estruturas com menos funcionalidade de 'auxiliar' podem ser mais fáceis de encontrar, pois é muito mais óbvio como as peças se encaixam. Em uma estrutura desconhecida (para mim, isso é quase tudo), são os bits automagicos que tornam difícil trabalhar e depurar.

Esse sentimento de estar "perdido em uma nova estrutura" é inevitável e totalmente frustrante; até mesmo um desenvolvedor experiente se sente um novato quando não sabe como tudo funciona. Se você for realmente azarado, terá escolhido um framework cujo canal de IRC dirá que você também é um idiota! É essa experiência inicial muito negativa que afasta muitas pessoas de usar uma nova estrutura ou de adotar uma, e muito poucas estruturas fazem um bom trabalho em ajudar novos usuários a superar esse obstáculo inicial.


No PHP também temos alguns frameworks que não são realmente frameworks da maneira que costumo usar a palavra. Temos alguns frameworks de componentes adoráveis; coleções de bibliotecas projetadas para serem usadas à vontade e para funcionar bem juntas, como Zeta Components (anteriormente eZ Components) e Symfony Components (você viu o site deles? Eles ganharam o prêmio de melhor arte!). O melhor e mais conhecido deles são, obviamente, as ofertas PEAR e PECL do PHP - de alguma forma, eles foram esquecidos neste admirável mundo novo de frameworks.

Microframeworks

Microframeworks são uma tendência emergente em PHP; essas são ofertas superleves que apenas ajudam você a colar as coisas mais rapidamente. Um bom exemplo é o Slim, que é muito rápido e simples de usar e entende os conceitos RESTful. É baseado na ideia de "rotas", que são padrões de URL. Você registra uma rota e dá um retorno de chamada que deve ser invocado quando aquele URL é solicitado.

A maioria dos desenvolvedores de PHP adota uma estrutura e fica com ela, ou pode usar uma no trabalho e outra para seus hobby ou projetos de código aberto. Há pouco consenso sobre o "melhor" framework a ser usado, então todos se limitam ao que sabem e o resultado é o desenvolvimento paralelo de um grande número de frameworks! Adoro ter uma seleção para escolher, mas já mencionei que todos eles são tão ruins quanto uns aos outros?

Se você conhece o Zend Framework, acaba se descrevendo como um desenvolvedor Zend Framework; você não se sentiria confortável escrevendo em outro framework até que tivesse a chance de se familiarizar com ele, e provavelmente não se lembra de muitas das funções PHP brutas para as coisas se não as usar com frequência. Essa ideia de que nos tornamos desenvolvedores específicos de framework, trabalhando apenas no topo de camadas de abstração, é um pouco estranha para PHP. Afinal, essa é a linguagem "para resolver o problema da web". Ele é escrito em C e é uma linguagem rápida e leve em si ... desde que você não espere que um grande processo de bootstrap do framework seja executado! Desse contexto surgiu o Manifesto MicroPHP, escrito por um homem que chamamos de Funkatron (embora seu nome na verdade seja Ed Finkler). É uma série de declarações dizendo que não há problema em construir uma série de pequenos módulos interoperáveis, que maior não é melhor e que, na verdade, a vida é muito curta para Java - mesmo que seja escrito em PHP.

Recomendado Por Nós
Como transformar um estágio de design em um emprego
Avançar

Como transformar um estágio de design em um emprego

Para muito novo criativo , uma vez que eu programa de graduação terminam e eu portfólio de de ign ão enfeitado e pronto para ir, ele começam a e in crever para colocaç...
6 dicas para obter mais da crítica criativa
Avançar

6 dicas para obter mais da crítica criativa

Um ótimo de ign (raramente) é criado i oladamente. Go te ou não, aceitar crítica de outra pe oa é uma grande parte da vida de um de igner - ejam ela vinda de eu chefe, de eu c...
The Freelance Handbook: seja seu próprio patrão este ano
Avançar

The Freelance Handbook: seja seu próprio patrão este ano

Ano novo, novo começo - certo? e você decidiu no ano novo trabalhar como freelance, então e tá com orte: nunca houve melhor época para er eu próprio patrão. Com cada...