Quando eu preciso usar uma estrutura? [fechadas]

15

Eu sou novo em programação web e neste momento estou aprendendo sobre PHP. Eu gostaria de saber quando eu preciso usar um framework PHP como o CakePHP? Quais são as coisas que este e outros frameworks PHP similares oferecem para mim? E é realmente importante usar um framework para ser um profissional?

  • E posso criar meu próprio framework para fornecer os recursos que eu gosto nele?
por Goma 26.11.2010 / 14:54
fonte

9 respostas

11

Quando você está à vontade com o PHP, você pode começar a usar um framework. E você deve sempre usá-los:

  1. É muito, muito mais rápido que re-codificando tudo
  2. Facilita as modificações, como mudar bancos de dados ou mudar visualizações
  3. Trabalhar com outras pessoas ser mais fácil também, como eles são muitas vezes usado para os frameworks de padrão MVC use

Você pode criar seu próprio framework, mas eu definitivamente não recomendo. É complicado, já existem muitos frameworks bons por aí, e não é provável que você encontre um recurso ausente. Além disso, eles geralmente fornecem maneiras de adicionar seus próprios recursos a eles, sem precisar criar um novo.

    
por 26.11.2010 / 15:16
fonte
10

Construa algumas páginas sem uma estrutura ... você essencialmente começará a escrever sua própria estrutura por tentativa e erro. Depois de fazer isso, mude para uma estrutura e aproveite quanto tempo você economiza. Tentar construir seu próprio framework pode lhe ensinar algumas coisas e irá ajudá-lo a apreciar os frameworks que já estão disponíveis.

Quando entrei no PHP, achei que os frameworks eram uma perda complicada de tempo. Agora, eu uso o CodeIgniter para projetos simples. Demora cerca de 1 minuto para se levantar e executar você já tem uma tonelada de grandes bibliotecas disponíveis para você. E, como um postador anterior mencionou, a maioria dos frameworks é extensível, então você sempre pode adicionar qualquer funcionalidade que quiser.

    
por 26.11.2010 / 22:45
fonte
5

Como Niphra disse , apenas comece a usar um framework quando você pode usar o PHP sem um framework (isto é, acessar o banco de dados, enviar cabeçalhos e conteúdo, processamento de strings, manipulação de dados, etc.). No que diz respeito às suas perguntas:

  • Quando eu preciso usar uma estrutura PHP como o CakePHP? Quando seu projeto cresce além de alguns arquivos PHP; no momento em que você começa a separar strongmente a lógica em elementos distintos e modularizar / compartilhar funcionalidades (sessões, etc.) é quando você deve usar um framework.

  • Quais são as coisas que este e outros frameworks PHP similares oferecem para mim? Abstração ; em vez de interagir diretamente com o banco de dados, você pode usar um Object-Relational Mapping (ORM) para gerenciar a estrutura e os relacionamentos entre seus dados no banco de dados. A maioria das estruturas em muitos idiomas fornece ORMs para facilitar a interação com a camada de banco de dados de seu aplicativo. Da mesma forma, os frameworks frequentemente separam as camadas de resposta à interação do usuário. A separação mais comum é o paradigma Model View Controller (MVC), que, para ser breve, abstrai a lógica do banco de dados no Model (uma interface para o ORM, em muitos casos), processando solicitações e interagindo com Models no Controller, e renderização do HTML / PDF / imagem / etc real. na vista. Os frameworks geralmente fornecem outras ferramentas, como roteamento (para permitir o processamento complexo do URI da solicitação (por exemplo: mapeamento da solicitação) link "para os usuários do controlador, que então pesquisam o Modelo do usuário com o ID de 1) e uma abstração de sessões e outras estruturas básicas.

  • E é realmente importante usar um framework para ser um profissional? Não necessariamente; estruturas facilitam a vida; mas você não precisa usar um para ser um profissional. Os frameworks fornecem uma fácil abstração e padronização, mas eles não são um requisito na maioria dos casos.

por 26.11.2010 / 20:59
fonte
2

Depois de ler algumas das respostas, eu gostaria de dizer primeiro que você não tem muitas opções sobre qual framework vai usar ou se vai usar um ou não (como um profissional). Eu não quero intimidar você, mas você precisará desenvolver um entendimento suficiente do PHP para permitir a migração de uma estrutura para outra, usando mais de uma estrutura ao mesmo tempo.

when do I need to use a PHP framework such as CakePHP?

Não há uma resposta universal para isso. Como profissional, você será encarregado de resolver problemas específicos e esse será o fator decisivo para o quando e o que será de cada projeto, especialmente se um cliente tiver uma demanda específica. Mas, em geral, você estará sempre usando alguma forma de framework com PHP, a menos que você esteja modificando ou estendendo uma aplicação pré-existente que tenha seu próprio framework (como Wordpress ou PHPBB).

What are things that this and other similar PHP frameworks offer for me?

Como dito por dirk, eles oferecem abstração. O que isto significa é que eles adotam procedimentos comuns em várias etapas e tentam torná-los tão simples e simples quanto possível. Em resumo, eles tentam apresentar soluções de adição de água para tarefas comuns.

And is it really important to use a framework to be a professional?

Em geral, não, não é importante usar uma estrutura para ser um profissional. Mas, realisticamente, você não terá muita carreira se não estiver familiarizado com pelo menos alguns frameworks comuns. PHP sem framework é como C ++ sem uma biblioteca std. Você não precisa disso, e você pode realmente fazer mais sem ele, pois estará usando diretamente a funcionalidade builing-block de nível mais baixo da linguagem, mas levará muito mais tempo para fazer a mesma coisa.

And can I create my own framework to provide the features I like into it?

Sim. Na verdade, você provavelmente acabará fazendo isso mesmo sem querer. Com isso, não quero dizer uma estrutura expansível de fazer tudo, mas mais como uma pasta de ferramentas com funções básicas e scripts que fazem tarefas que não são comuns ou genéricas o suficiente para serem manipuladas pela estrutura média. O meu é basicamente composto de vários sistemas de arquivos, manipulação de processos e bits de bits rex-ex com alguns utilitários de onda / fluxo / soquete diferentes.

    
por 04.02.2014 / 06:48
fonte
1

Comum de uma pessoa que passou anos cortando minhas próprias maneiras de conversar com um banco de dados e conversar com APIs on-line e só agora começando a usar estruturas, use-as quando você pelo menos tiver uma compreensão do que elas estão fazendo, se possível.

Não pule imediatamente para o RedBean em seu primeiro trabalho com um banco de dados, trabalhe com o banco de dados manualmente primeiro. Dessa forma, você tem uma compreensão completa do que realmente está buscando e fazendo no banco de dados, o que pode realmente ajudar na escalabilidade. Você também pode, então, criar sua própria solução quando o framework que estiver usando não fizer algo que você precise fazer.

Uma vez que você entenda o que está acontecendo, use uma estrutura! Isso torna as coisas muito mais fáceis. A loucura com o armazenamento de uma consulta, em seguida, o loop dos resultados com mysql_fetch_assoc acabou, reduzida a uma única chamada: $book = R::load( "book", $id ) . Você será muito mais produtivo e poderá corrigir erros futuros ou adicionar recursos futuros com muito mais facilidade.

    
por 26.11.2010 / 16:38
fonte
1

Use uma estrutura quando você conhece bem as tecnologias subjacentes para saber o que a estrutura faz por você e por que isso é bom (ou ruim).

Um framework é uma espécie de meta-ferramenta, que permite que você trabalhe com suas ferramentas (linguagem, banco de dados) um pouco mais rápido sem precisar se preocupar com alguns detalhes do que você está fazendo, o que é bom se você realmente conhece suas ferramentas.

O que você NÃO quer que aconteça é que você aprenda a estrutura em vez das ferramentas, e torne-se canalizado em uma certa maneira de fazer as coisas, e acabe não tomando realmente o domínio das linguagens e conceitos subjacentes. deve ser uma ferramenta, não uma muleta.

    
por 22.11.2011 / 18:23
fonte
0

Quando você estiver fazendo a mesma coisa repetidas vezes, olhe ao redor e veja se existe uma estrutura que faça o mesmo material redundante que você acabaria fazendo sozinho. Não use apenas uma estrutura por causa do hype. Eu pessoalmente gosto do "framework sem MVC do PHP Framework" do CodeIgniter e do Rasmus Lerdorf link

    
por 05.06.2012 / 23:06
fonte
-1

Eu recomendo pensar com cuidado porque você usaria o framework x, y ou z. Cada framework não apenas fornece funcionalidade, que você não precisa implementar, mas também uma maneira de pensar. Basta olhar para Spring, JEE, Rails ou Django. Quatro estruturas fornecendo o suficiente para interromper um aplicativo da Web em pouco tempo.

Mas todos os quatro promovem seu próprio modo de pensar sobre como os aplicativos da Web devem ser criados. Se isso não se adequar às suas necessidades ou ao seu sabor, você terá dificuldade em levar as coisas adiante.

Esta tem sido uma comparação muito radical, mas talvez construir uma pequena biblioteca atenda melhor às suas necessidades. Mas conhecer estruturas certamente ajudará você a trabalhar em equipes maiores ou a encontrar novos empregos, já que isso mostra que você está interessado no desenvolvimento de software como um todo.

    
por 06.06.2012 / 09:29
fonte
-2

Estruturas sempre são boas de usar desde o início. Ele promove reutilização de código, melhor legibilidade e economiza um pouco de tempo de desenvolvimento.

Eu não sou muito experiente com PHP, mas eu encorajaria qualquer uso de framework.

    
por 06.06.2012 / 09:03
fonte