Array
(
)

PHP PDO, POO, frameworks

PHP
Marcio Araujo
   - 04 mai 2014

tenho notado que o PHP está seguindo um caminho parecido com o Java, muito frameworks e formas de programas(muitas siglas) POO, PDO.
o que acham?

Raphael Neves
   - 07 mai 2014

Grande Marcio, bom dia!

O PHP evoluiu muito nas últimas versões. Mas penso que foi uma evolução um pouco tardia, por assim dizer. Por muito tempo o PHP foi visto como uma linguagem de entrada no desenvolvimento web, por ter uma curva de aprendizado relativamente menor do que outras linguagens. Por muito tempo se manteve o pensamento e forma de desenvolvimento estruturado. Quando o Java chegou no mercado ele já trazia os conceitos de orientação a objetos na sua API de forma bem madura, o que contribuiu bastante na complexidade da linguagem e elevou consideravelmente sua curva de aprendizado. Enxergo o java como uma linguagem feita para ser usada em projetos de médias e grandes equipes, explico, os conceitos abordados no java fazem com que a linha de desenvolvimento siga um padrão de codificação complexo e burocrático, ao meu ver. No entanto, aplicando essa linha no processo de manutenção de sistemas e levando em consideração a rotatividade dos membros da equipe vc atinge um nível de eficiência e eficácia muito maior do que se alcança com o PHP, pois as convenções e corpo da linguagem te guiam para um desenvolvimento mais "limpo".

O maior prejuízo que essa demora na mudança de paradigma do PHP ser estruturado ou orientado é que ainda temos muitos programas e programadores que não se "atualizaram" com esse novo conceito de desenvolvimento, fato este que dificulta MUITO e eleva o custo do processo de manutenção do sistema quando se há a troca de equipe e/ou mantenedor da aplicação. No ano passado peguei dois projetos que eram praticamente impossíveis de se manter, pois devido a flexibilidade da linguagem quem desenvolveu o projeto praticamente criou uma nova linguagem pra ele..rss. Pra mim os maiores prejudicados nisso somos nós mesmos, pq pro cliente não importa tanto a forma que o desenvolvedor adota para codificar, o que importa é se os requisitos estão sendo cumpridos e no final se tem um sistema funcional. Já peguei muito sistema em PHP sem semântica alguma, com muita coisa embaralhada e por aí vai.

Nós desenvolvedores PHP temos que dar o ponta pé inicial nessa mudança de paradigma. Nós que temos de mudar a forma de pensar e desenvolver. o PHP te permite desenvolver orientado, mas nem todo programador faz uso desse conceito. Culpa da flexibilidade da linguagem =) kkk

Enfim, mesmo sendo dev PHP vejo que essa linguagem está num patamar muuuuuuito abaixo do java, por enquanto! Exemplo simples: procura no google ou em sites especializados vaga para desenvolvedor PHP e vaga para desenvolvedor Java. Proporcionalmente: sei lá, 3 vagas PHP com salário médio de 2000,00 e 20 vagas java com salário médio de 3500,00. Estou chutando esses valores, ok? rs..Mas proporcionalmente chega a ser absurda a diferença de oferta entre java e PHP, tanto em quantidade, quanto de salário.

Grande abraço.

Marcio Araujo
   - 07 mai 2014

concordo com vc em genero, numero e grau, o problema está no ensino por assim dizer, a maioria dos cursos apresentam o PHP como estruturado e de forma bagunçado(html, php misturados), se apresentassem o PHP com orientação a objetos, acredito que o PHP ja estaria bem melhor no mercado.

Raphael Neves
   - 07 mai 2014


Citação:
concordo com vc em genero, numero e grau, o problema está no ensino por assim dizer, a maioria dos cursos apresentam o PHP como estruturado e de forma bagunçado(html, php misturados), se apresentassem o PHP com orientação a objetos, acredito que o PHP ja estaria bem melhor no mercado.


Exatamente. Mas acredito que a Zend aos poucos vai mudar esse cenário. O problema maior não é o hoje, mas sim o legado que existe em cima da atmosfera do desenvolvimento estruturado. Essa comparação de certo modo é complicada de se fazer. É a mesma coisa de se debater desenvolvimento em cascata e desenvolvimento ágil..rs
Mas é isso aí...torcer para que o cenário mude e os profissionais de PHP sejam mais valorizados.

Marcio Araujo
   - 07 mai 2014

como assim, o Zend de alguma forma irá "desconhecer" a programação estruturada? é isso? e outra coisa, deve-se mudar a forma de ensino, pois atualmente ensina-se estruturado, quando se vai fazer um teste, exigem orientação a objeto, e aew? o investimento valeu? é complicado um pouco, isso é responsabilidade do profissional, mas mesmo assim é dificultar.

Antonio Felix
   - 07 mai 2014

me identifiquei com as respostas, situação abordadas, os livros em si mostram apenas da forma estruturada, encontrar um livro de PHP orientado a objetos é considerado um diferencial, não entendo, se PHP é O.O, por que considerar um diferencial, apenas citando um erro.

Raphael Neves
   - 07 mai 2014


Citação:
como assim, o Zend de alguma forma irá "desconhecer" a programação estruturada? é isso? e outra coisa, deve-se mudar a forma de ensino, pois atualmente ensina-se estruturado, quando se vai fazer um teste, exigem orientação a objeto, e aew? o investimento valeu? é complicado um pouco, isso é responsabilidade do profissional, mas mesmo assim é dificultar.


Não, não! Até mesmo porque existe um grande volume de aplicação estruturada rodando no mercado. Fui infeliz nesse comentário. Mas a tendência é puxar o público para o uso dos frameworks, como o Zend, o Cake, o Yii, entre outros. Puxando esse público para o uso dos frames, consequentemente entra-se na O.O.

Raphael Neves
   - 07 mai 2014


Citação:
me identifiquei com as respostas, situação abordadas, os livros em si mostram apenas da forma estruturada, encontrar um livro de PHP orientado a objetos é considerado um diferencial, não entendo, se PHP é O.O, por que considerar um diferencial, apenas citando um erro.


Essa é exatamente a questão! Enquanto no PHP é um diferencial trabalhar com O.O, o java respira O.O. Bom ponto de vista!

Marcio Araujo
   - 07 mai 2014

entendi mais ou menos o que quis dizer, mas qual é estrategia dos frameworks nesse caso?

Raphael Neves
   - 07 mai 2014


Citação:
entendi mais ou menos o que quis dizer, mas qual é estrategia dos frameworks nesse caso?


Os frameworks já adotam o conceito de orientação a objeto. De certa forma incentiva o desenvolvedor ao utilizar o MVC, usar a O.O.

Marcio Araujo
   - 07 mai 2014

ah sim, então podemos afirmar que o problema, o foco dele, está inserido na forma de ensino: cursos, livros, apostilas, artigos...?

Antonio Felix
   - 07 mai 2014

a gente vê essa diferença mesmo, antes de iniciar com java, existe todo um conceito por volta da orientação a objeto.

Raphael Neves
   - 07 mai 2014


Citação:
ah sim, então podemos afirmar que o problema, o foco dele, está inserido na forma de ensino: cursos, livros, apostilas, artigos...?


Sim, sim. Concordo plenamente com essa sua colocação. A ferramenta é maleável ao ponto de se programar estruturado ou orientado. Cabe ao método de ensino direcionar o aluno nas melhores práticas de mercado, no caso O.O. Tem um ano e pouco de sou dev PHP. Fiz um curso na X25 e já foi abordado O.O.

Raphael Neves
   - 07 mai 2014


Citação:
a gente vê essa diferença mesmo, antes de iniciar com java, existe todo um conceito por volta da orientação a objeto.


Exatamente. Chega a ser até chato fazer curso de java...kkkkk
A API respira O.O, ou seja, se vc não dominar os conceitos desde o início, dificilmente se alcançará o sucesso no Java.

Raphael Neves
   - 07 mai 2014

null

Marcio Araujo
   - 07 mai 2014

é sempre bom ter uma discussão sobre assuntos que as vezes passam despercebidos, PHP O.O muitas vezes passa batido.

Roniere Almeida
   - 07 mai 2014

esse post se encaixa perfeitamente com o curso da Devmedia, para quem desejar conhecer a parte basica, depois MVC e O.O. otimo post.

http://www.devmedia.com.br/curso/curso-de-php-basico/395

Antonio Felix
   - 07 mai 2014


Citação:

Citação:
a gente vê essa diferença mesmo, antes de iniciar com java, existe todo um conceito por volta da orientação a objeto.


Exatamente. Chega a ser até chato fazer curso de java...kkkkk
A API respira O.O, ou seja, se vc não dominar os conceitos desde o início, dificilmente se alcançará o sucesso no Java.


Verdade, dedicação é um ponto importante.