1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP6 mais mudanças...

Discussão em 'Web Development' iniciada por K0mA, 27 de Fevereiro de 2007. (Respostas: 14; Visualizações: 2020)

  1. K0mA

    K0mA Power Member

    [Texto em PT-BR]

    A versão atual do PHP é a 5.1.6 mas o núcleo de desenvolvimento da linguagem já trabalha na versão 6. Da versão 4 para a 5 da plataforma ocorreram modificações profundas, tanto que muitos scripts deixaram de funcionar. Isso ocasionou uma série de transtornos para desenvolvedores, prestadores de serviço e usuários da linguagem. E, principalmente, um atraso muito grande na adoção da versão 5. É comum, quando se contrata um servidor de hospedagem, encontrar suporte ao PHP4 e ao PHP5 (este último normalmente em suporte Beta) pois existe uma preocupação dos prestadores de serviço em suportar os scripts mais antigos, que ainda são maioria.
    A versão 6, que gera muitas discussões nas listas de desenvolvimento oficiais do PHP, pode retirar muitas características da plataforma em uma operação de enxugamento para torná-la mais prática de ser usada. O problema, novamente, é a compatibilidade legada. Com as características que devem ser abandonadas muitos scripts escritos para as versões 4 e 5 podem, outra vez, parar de funcionar. Enquanto a equipe que desenvolve o PHP está obviamente preocupada em tornar a linguagem mais profissional fica a dúvida se essas modificações constantes podem afetar a credibilidade e a adoção do PHP como ferramenta de desenvolvimento.
    A notícia de que mudanças no PHP6 poderiam criar incompatibilidade com o legado das versões 4 e 5 surgiu de um dos desenvolvedores da linguagem, Derick Rethans. Ele afirmou publicamente que, entre outras coisas, o PHP6 dará suporte ao Unicode. Isso tornaria as aplicações escritas em PHP mais internacionalizáveis, aumentando a flexibilidade do que pode ser escrito com a plataforma. Entretanto, ao contrário dessa modificação, as outras propostas retiram características que, quando usadas por scripts de outras versões, podem ocasionar em erros de execução paralisando os serviços. Vamos discutir aqui algumas das modificações mais profundas já propostas e seu possível impacto sobre as aplicações existentes escritas em PHP. Entre o que está planejado para mudar no PHP6 aparece:

    1-Remoção completa de register_globals Desde a versão 4 do PHP fala-se em abandonar essa característica assim programadores mais experientes já produzem código sem usá-la. Ainda que aplicativos escritos por desenvolvedores menos preocupados possam deixar de rodar na versão 6 o impacto disso dever ser pequeno sobre os aplicativos profissionais.

    2-Remoção de magic_quotes_* Boa parte dos programadores PHP sequer as usa e seu abandono já era discutido há muito tempo. Deve ocasionar pouco impacto sobre a plataforma.

    3-O PHP6 deve incluir um mecanismo para que os desenvolvedores desliguem opções do ambiente que o administrador do site tenha deixado ligadas por padrão, e vice-versa. Aqui vemos luzes vermelhas, pois os usuários não deveriam poder alterar opções do sistema sem o uso de um mecanismo que limite o que pode ser alterado, nos moldes do Apache. Não há indicação de que esse sistema vá existir o que pode gerar a situação incômoda do desenvolvedor administrar mais o sistema do que o próprio administrador. É apenas uma suspeita de nossa equipe que essa característica vá trazer problemas, mas a possibilidade está em aberto.

    4-Remoção do safe_mode e foco no uso de open_basedir O open_basedir é mais restritivo que o safe_mode e por isso permite uma flexibilidade maior, entretanto em servidores que armazenem diversos sites distintos (que é o caso mais comum na internet) o compartilhamento de scripts pode tornar-se problemático. Ponto para a segurança, mas os administradores de sistemas com PHP6 terão que suar um pouco mais a camisa.

    5-Remoção de tudo que foi marcado como desatualizado desde o PHP 3/4 Muitos scripts, principalmente os mais “antigos” vão parar de funcionar definitivamente, exigindo que o código seja revisado e reescrito. Somando à isso o fato de querer aproveitar as novas funcionalidades vai haver muita gente decidindo que a migração não vale a pena ou que é melhor escrever a aplicação do zero do que ficar tapando buracos em código legado.

    6-Tornar os identificadores sensíveis à caixa do texto Aqui haverá um problema para desenvolvedores de Windows, que podem não estar acostumados com essa característica já existente em diversas outras linguagens, como o C/C++, por exemplo. Desenvolvedores UNIX não sentirão diferença pois nessa classe de sistema operacional a sensibilidade à caixa é padrão. Nesse aspecto os hábitos antes alimentados pelo PHP podem exigir adaptação de parte dos desenvolvedores. Além disso, scripts escritos com pouco cuidado podem parar de funcionar.

    7-Remoção de vários aliases de funções Scripts que fazem uso desses aliases não irão funcionar na nova versão do PHP. É uma simplificação boa, já que é melhor ter apenas um nome para cada coisa, e vai reduzir a complexidade do desenvolvimento. Mas outra vez os desenvolvedores terão que optar entre permanecer com uma versão antiga da linguagem ou trabalhar para modificar o código existente.
    Essas são as principais modificações propostas para a versão 6 do PHP, que irão exigir cuidado dos profissionais que decidam pelo upgrade em seus servidores. Entretanto não são as únicas, mmuitas outras propostas e suas conseqüências podem ser observadas aqui. Certamente elas devem atrasar a adoção da nova versão, como aconteceu com o PHP5. Na versão 5 muito foi feito no sentido de tornar a linguagem orientada à objetos. Isso permite que os programadores escrevam aplicações mais complexas e maduras, mas as incompatibilidades com o legado das versões 3 e 4 do PHP foram um grande obstáculo para a adoção do PHP5. De tal sorte que o PHP5 ainda não tornou-se o padrão para as aplicações PHP no mundo, havendo uma forte presença do PHP4 no mercado.
    O fato do cPanel demorar cerca de 6 meses para retirar do estágio Beta qualquer modificação na plataforma PHP irá atrasar a migração de boa parte dos usuários. Muitos scripts livres e gratuitos que são usados por uma parte grande do mercado, cujos administradores não são programadores e usam código de terceiros, podem demorar para serem migrados para o PHP6 paralisando ainda mais o movimento de migração para a nova versão. As mudanças da versão 4 para a 5 obrigaram muitos desenvolvedores a reescrever seus scripts do zero e as quebras de suporte legado propostas para a versão 6 irão deixar muitos programadores descontentes.
    Ainda que os aplicativos desenvolvidos para o PHP4 que não tenham recebido adaptação para a versão 5 possam ser reescritos ou adaptados diretamente para a versão 6 é impossível negar que os programadores ficarão desconfiados. Começar os trabalhos para levar seus scripts para a versão 6 valerá a pena? Haverá outra quebra de suporte legado em uma futura versão 7? Essas perguntas agora encontram-se atrás de uma cortina de fumaça e devem levar algum tempo para serem respondidas. Talvez o mercado só comece a migrar realmente para o PHP6 quando o grupo que desenvolve a linguagem comprometer-se a manter suporte para uma nova versão. Podem se passar 2 ou 3 anos até que uma migração forte para a nova versão 6 seja verificada no mercado e até lá provavelmente poucos decidirão investir tempo e dinheiro para adaptar scripts antigos para a versão 5, dando uma sobrevida inusitada ao PHP4.
    Essas mudanças na plataforma PHP que causam falta de compatibilidade com aplicações legadas são reflexos de um projeto pouco estruturado. A mudança de foco do PHP, desde seu nascimento até hoje, também contribuiram para que mudanças tão profundas fossem levadas à cabo. E é indiscutível que esse tipo de acontecimento abala o respeito que o mercado tem por dada solução. Essas guinadas bruscas demandam retrabalho de profissionais cuja hora de serviço não é das mais baratas. Produtos de empresas consolidadas, como Microsoft, Oracle, e outras, raramente colocam seus clientes em posições tão desconfortáveis em tão curto espaço de tempo. Esse panorama deixará muitos tomadores de decisão avessos ao PHP ainda que as mudanças efetuadas sejam reconhecidamente necessárias e bem vindas pelos profissionais técnicos.
    Em uma análise mais profunda esse tipo de situação pode servir para o pessoal do Software Livre repensar um pouco mais a forma como grandes projetos é manejada. Não são raros os casos de projetos livres que obrigaram seus usuários a passarem pelo mesmo tipo de situação que o PHP. O Drupal, por exemplo, CMS usado aqui no Meiobit é um exemplo de aplicação que, de uma versão para outra, tornou todos os seus módulos incompatíveis e exigiu que programadores e usuários fizessem malabarismos. Podemos citar também o Firefox, que na versão 2 obrigou os criadores de extensões a adaptar suas criações à uma nova API. São exemplos para o SL de que talvez seja necessário um comprometimento maior com certas políticas tipicamente empresariais para manter seu mercado e sua comunidade.



    fonte: http://www.meiobit.com/destaque/mudancas_no_php6_serao_polemicas



    Prepare for PHP 6

    echo "ISTO AINDA VAI DAR MUITA DOR DE CABEÇA A MUITA GENTE";
     
    Última edição: 27 de Fevereiro de 2007
  2. Preatorian

    Preatorian Power Member

    É por estas e muitas coisas que estou a querer deixar o PHP. Estou a mudar para Python a usar a framework Pungi.
     
  3. CrazyBomber

    CrazyBomber Power Member

    Espera aí. Mas essa "lista" vem de um forum? Em que um utilizador mete lá o seu "pedido"?
    O tópico é "wish list"!!
    Não vejo referência nenhuma que confirme essas alterações para o PHP6...

    EDIT:
    Afinal o "homenzinho" é o criador original do PHP :sad:
    Mas, de qualquer modo:
    Fonte
     
    Última edição: 28 de Fevereiro de 2007
  4. Pretender

    Pretender Power Member

    Estão é a fazer demasiadas versões que cortam com o passado rapidamente.... o mercado não costuma gostar disso...
    Lembro-me de escrever código em php5 mal este apareceu à no máximo 2 anos...
    Claro que não se obriga logo todo o mundo a mudar...
    Estou agora numa de pegar no Python... :)
     
  5. mascker

    mascker Power Member

    RE:

    Viva,

    e desde quando esta alterações vão afectar os scripts em PHP 4 ou PHP5???

    Apoio totalmente, e os scripts vao continuar a ser compatíveis.

    Imaginem a zend que desenvolveu a sua framework com mais de um milhão de linhas para daqui a seis meses estar desactualizada.... Nem pensar nisso.

    Estão a fazer uma tempestade numa gota de água....

    As decisões que foram tomadas em relação à versão 6 fazem todo o sentido.

    Saudações
     
  6. Marsupillami

    Marsupillami Power Member

    mascker, julgo que a questão aqui é impossibilitar a activação de algumas funções algo implementadas, como é o caso do register_globals e magic_quotes_gpc. Ao colocá-las off como parece ser o que se sucederá com o PHP6, muitos scripts terão problemas. Claro que quem desenvolve já tem em atenção estes factores ainda antes de surgir o PHP5, mas a questão é... e tudo o que está desenvolvido e que necessita dessas duas opções para funcionar?
     
  7. mascker

    mascker Power Member

    Viva,

    Eu sinceramente não sei como é que ainda utilizam register_globals on.

    A partir do PHP 4.2, (abril 2002) que as register globals vem off nas distros.

    Compreendo que oscommerce só funciona com register_globals on, e essa é uma das principais preocupações, mas pode-se por o php 4 e o php5 a correr na mesma máquina.

    De 2002 a 2007 são cinco anos. Não podemos ficar parados se queremos uma linguagem mais pro.

    Mas o que me "preocupa" é que quem programa agora use as register_globals on

    Quando já se sabe que algo vai desaparecer temos que programar de forma a nao ser-mos confrontados com problemas quando surgirem as modificações.

    Eu quando pedi ao nosso administrador de sistemas que fizesse o upgrade para o PHP5 ele até me perguntou se eu tinha a certeza :D

    Saudações
     
  8. spastikman

    spastikman Banido

    Mesmo que não aconselhem a usar, nunca deveriam tirar essas funções por uma questão de retrocompatibilidade com o passado (apps antigas).

    Ainda para mais nesses casos, nem me parece uma questão de performance, mas sim uma questão de segurança.
     
  9. Scrapie

    Scrapie Power Member

    Sem querer "desviar" assunto... O que realmente me parece importante, é esta "atitude" por parte dos grandes projectos em SL, a falta de um compromisso coloca cada vez os programadores com "um pé atrás". Acho que temos muito para evoluir neste aspecto...

    Quanto ao PHP6, estas mudancas, se bem que positivas, colocam o PHP numa imagem nao muito boa com o mercado... Mas cabe aos programadores este "esforço/custo" adicional... Mas concordo em que com PHP6 para a frente, eles deveriam evitar estas situações... manter compatibilidade, senão os programadores simplesmente arranja alternativas
     
  10. Estou impacientemente à espera do PHP6 simplesmente pelo suporte de raiz ao UTF-8. Isso irá facilitar em muito o desenvolvimento de plataformas multilingue. Neste momento dependemos de mbstring/iconv para manipular correctamente strings multi-byte.

    Quanto às outras mudanças "drásticas" não há nada a temer. A única adaptação que tive de fazer no passado foi ao nível das classes quando passei do 4 para o 5, ainda que a sintaxe antiga ainda seja compatível.

    Basta estarem atentos às melhores práticas de programação que encontram em php.net e em inúmeros fóruns, blogs, etc para depois não terem surpresas.

    O PHP tem uma desvantagem que levanta esta resistência a novas versões: a popularidade. Mas quem precisa desta ferramenta e quem com ela trabalha diariamente são os profissionais, não os programadores de fim-de-semana e daí se justificarem mudanças que aliás já deviam ter sido feitas há uns anos atrás como a erradicação das irritantes magic quotes.

    Isto é realmente uma tempestade num copo de água. As aplicações não vão deixar de funcionar tão depressa. O PHP5 já está disponível há um bom par de anos e não são muitas as empresas de hosting que o disponibilizam como a primeira opção. Ou muito me engano ou o PHP4 ainda vai andar aí por muito tempo. Felizmente para a maioria, infelizmente para projectos específicos que esperam as novas actualizações.
     
  11. QuickFire

    QuickFire What is folding?

    Ora ai está... O problema do PHP é a popularidade, e ninguém gosta de aprender uma coisa que já usa à uns anos, toda de novo.

    Por mim penso que as mudanças que trás são positivas e necessárias algumas delas.
    Quanto ao PHP6 acho que se não for aceite, rapidamente deixa de ser tão usado... exemplo disso é o PHP4 que ainda continua ai para as curvas durante uns tempos, mas lá está isto por causa da resistência à mudança da parte das pessoas.
     
  12. K0mA

    K0mA Power Member

    imaginem que eu quero escrever em utf-8 como é que o vou fazer? se escreverem com caracteres normais num html e meterem o charset em utf-8 não funciona...

    Escrevo normalmente como aqui e depois tenho de converter para utf-8 e só depois inserir no PHP ?

    Usar os códigos HTML ã á à ç ... não parece uma boa soluação.

    EDITADO: http://lss.wisc.edu/~sara/dwutf8.htm
     
    Última edição: 5 de Março de 2007
  13. Embora esta thread não seja acerca do utf-8, vou tentar responder:

    O cabeçalho do charset, dentro do <head> é ignorado em detrimento da codificação interna do ficheiro. Deves utilizar um editor html/php que permita salvar o ficheiro em causa como UTF-8 (Zend, PhpED, PSPad, etc.)

    Se for um script php, para manipulares bem as strings tens de ter a extensão mbstring instalada e depois fazes mb_internal_encoding("UTF-8") logo no topo do código.

    Para ler e escrever correctamente na base de dados (MySQL) fazes uma query a seguir à ligação com "SET NAMES utf8"

    De resto, escreves "normal", não precisas de códigos html.

    Espero ter ajudado.
     
  14. K0mA

    K0mA Power Member

    Obrigado pela excelente explicação ;)
     
  15. msdevweb

    msdevweb Power Member

    Boas, como uso php ja a alguns anos, parece-me obvio ter que comentar este Post.

    Vejamos uma coisa, é claro que "vamos" ter algumas "pequenas" dores de cabeça para reagir a uma nova implementação desta versão, embora eu ache que a migração do php4 para o php5 tenha sido mais drastica, mas ao acontecer essas modificações, previa-se que a partir desse momento fossem ocorrer mais. Mas vejamos por outro lado, ao efectuar essas mudanças, na maior parte dos casos, bem feitas e necessarias, "o php" só prova que realmente se está a interessar no projecto, visto que parecia se deixar estar à sombra da bananeira, enquanto a sua linguagem se ia espalhando pelo mundo.... Parece-me também que existiu alguma pressão pela "concorrencia" para esta evolução.

    É claro que também não gostei muito de anteriormente ter ouvido falar no PHP5 como um bicho de 7 cabeças que iria desactualizar o nosso codigo, e isso não foi o que aconteceu. É claro que ouve muitas mudanças, mas nao se esqueçam que em muitos dos casos parece que o php4 nao desaparecerá tão breve, o que acho que até as empresas que prestam esse serviço nos seus servidores também perceberam isso, o é obvio que o que vamos assistir vai ser à ofertas de alojamento com o serviço php4, 5 e 6. O que parece que se estão a preocupar na "longa" adaptação que esta a existir na migração para as novas versões.
    Se formos a ver, até esta a ser dada a oportunidade de levarmos o tempo que for necessário para essa migração.

    Se as "empresas" não inovarem, estão condenadas à morte, porque aparecerá sempre alguém que as irá ultrapassar. E nesse ponto parece-me bem a evulução do php, até porque quem faz do php a sua ferramenta, não acho que essas alterações terão um impacto assim tão negativo, acho até que será bastante positivo.

    Temos como exemplos vários desse tipo de migrações em tudo (não se pode comparar, mas a ideia é provar que a inovação só melhora as coisas):

    Windows 3.11 --> windows 95 --> windows 98 ---> windows sucata 2000 ME (excepção)--> XP -->Vista.

    Linux, se bem se lembram, linux era linha de comandos, hoje em dia dada a evolução é bem superior a ambientes windows e nao só.

    Borland c ( a base ), hoje em dia temos o Visual C, que se formos a ver, tem "milhoes" de diferenças em relação ao borland C.

    Visual basic (o basico), hoje em dia com a vertente .Net

    ASP, ASP.net

    Até o MySQL sofreu bastantes alterações desde o se inicio, e apesar de estar quase sempre ligado ao php, ninguém parece se ter preocupado com isso..


    Como Sempre, estamos a reagir a algo que no final nem irá mudar em muito este tipo de linguagem, e como "informaticos" não podemos parar no tempo e teremos sempre que evoluir, senão corremos o risco de nos tornarmos obsoletos.

    Peço desculpa pela extenção do reply, e pela minha opinião nao ser tão igual a muitas que existem... para isso é que se chama opinião :)
    Mas acho que valera a pena ler.

    Um abraço.
     
    Última edição: 13 de Março de 2007

Partilhar esta Página