Bom tenho algumas coisas que gostaria de saber a opiniões de vcs, ja que acho que deve ser impossível afirmar se DEVO ou NÃO ir para um Framework. Gostaria mais de saber a opinião de vcs:
1- Sei o BASICO do php. Syntax como um geral ( if variaveis loops arrays etc… ), roteamento, um pouco de MVC e criar sessões e CRUD do banco de dados mysql. Só essa carga ja é suficiente? ou devo aprender algo a mais?
2- As vezes penso nos beneficios de ir para um framework. Por exemplo, tudo bem que ja tem muita coisa criada. Porem muitas tecnicas novas são apresentadas a voce por conta desse framework, as vezes algum conceito, ou entender como fazer algo de maneira mais eficiente…, esse pensamento é correto? Vcs acham que tenho mais a ganhar ou a perder em questoes de aprendizado indo a um Framework?
3- Entre as varias opcoes de frameworks PHP, qual seria a mais indicada quando o foco é mais APRENDER?
Antes de responder, você entende que um framework possui uma finalidade e que essa finalidade é, justamente, evitar que você perca muito tempo repetindo coisas que deveriam ser automatizadas (falando em termos OO, reaproveitadas)?
Se você ainda não entende isso, não acho que seja o momento de partir para um framework.
A ideia de qualquer framework é otimizar o tempo de desenvolvimento, encapsulando rotinas com as quais você perderia muito tempo, mesmo sendo coisas banais, como criar queries SQL, por exemplo.
Dito isso, temos:
1 - Quanto de orientação a objetos você consegue aplicar em teus projetos PHP (todos os frameworks que conheço empregam orientação a objetos)?
2 - Técnicas novas, não sei. Um framework define um conceito, uma forma de fazer (basicamente, ele será os trilhos e você terá o trabalho de colocar a locomotiva e os vagões e percorrer aquele caminho já traçado).
Portanto, penso eu, se você tiver a possibilidade, estude os conceitos de orientação a objetos (herança e implementação, composição e agregação, encapsulamento, sobrecarga e sobrescrita), para, só então, partir para um framework.
1- Vamos la: referente a OO, ja tenho um conhecimento, na minha aplicação atual o meu router e meu banco de dados estão no modelo de OO, não sei se está da melhor maneira mas tenho conhecimento e ja uso com frequencia.
2- Referente a o que é o framework em si, eu entendo perfeitamente que ele é feito para melhorar a produtividade, e automatizar muitas coisas. Talves eu não tenha explicado direito, mas eu sou um cara que é do Front e estou tentando migrar pro Back, e no front eu comecei pelo jQuery, e muitas das funcionalidades ja criadas no jQuery quando eu voltei pro JS puro me ajudaram, pois consegui entender como coisas mais complexas eram feitas, qual era o jeito que garantia mais compatibilidade, e consegui re-criar algumas das coisas que o jQuery tinha, e isso de certa forma foi um aprendizado para mim. Pois acho que algumas coisas avançadas ( Conceitos em geral ) são mais rapidas de serem aprendidas com uma ferramente mais simples em mãos. Ao invés de tentar criar tudo do zero com PHP puro, o fato de eu ter coisas prontas e eu me acostumar com elas, e me preocupar com coisas mais avançadas iria me fazer TALVES entrar no mindset do PHP mais simples igual foi com o jQuery.
E futuramente quando voltar para um PHP puro, conseguir recriar muitas das coisas que o Laravel , Codeigniter etc… ja tem prontas.
Não sei se minha abordagem com o jQuery foi a correta, mas meio que facilitou quando fui para o JS PURO.
Fico no aguardo da sua resposta Luis, pois todas que me deram até hoje aqui no GUJ foram boas
Depende do teu objetivo. Sempre achei PHP muito simples para precisar de framework, ainda mais por não ser muito usado em aplicações complexas em grandes empresas. Toda hora surge um novo framework para PHP, a onda da vez é o laravel. Se teu objetivo for mercado de trabalho, veja qual framework está sendo mais pedido. Antes da onda laravel, o Zend Framework era o mais usado no mercado.
Como eu trabalho em uma empresa onde a intranet e o CRM foram desenvolvidos em PHP, posso afirmar que isso não é uma verdade absoluta.
E, para não dizerem que fico só neste exemplo, a faculdade onde me formei utilizava um sistema PHP para gerenciar toda a sua estrutura, alunos, cursos e etc.
Existem CRMs e ERPs construídos em PHP.
O estigma da linguagem é uma das interpretações de sua sigla: personal home page.
É fato que é simples, assim como java pode ser simples e, mesmo o C pode ser, dependendo de qual realidade será aplicada e o que será desenvolvido.
O PHP ensinado nos cursinhos de webmaster por aí também ajuda a disseminar uma ideia incorreta sobre a linguagem. Dificilmente trabalha-se OO ou recursos mais aprofundados do PHP (lógico que a maioria dos cursos que ensinam java e C# seguem a mesma lógica, mas com PHP a orientação a gambiarra é maior).
Existe também a questão de ambiente de trabalho, código legado, equipe pequena e engessada, o famoso “sempre fizemos desse jeito”, etc…
Isso afeta bastante na vontade de aprender e até uma frustração por não poder usar e digo por experiência própria… estou na programação desde 2007, conheço php desde a versão 5.2 e acompanho até hoje, mas por ter passado anos nesse tipo de ambiente, não vi vantagem em aprender e não poder usar…
Não estou dizendo que você não deva aprender, longe disso, para mim na época não foi uma prioridade e isso teve um lado bom, conhecer php mais a fundo, procurar aprimorar meu código, buscar boas práticas mesmo em “ambientes inóspitos”
Só recentemente que busquei aprender Laravel, e o que aprendi com isso, uma mão na roda sem dúvidas, mas o principal é ter uma noção do que ele faz por “debaixo dos panos” e caso algo dê errado, terei um norte para tentar arrumar. coisa que sem uma base bem sólida, entender bem os fundamentos, seria bem difícil…