+5

PHP 5.3 parte 5: Outras melhorias

criado por Douglas V. Pasqua em 07/03/2010 10:09pm
Chamadas variáveis estáticas

Agora é possível fazer chamadas estáticas onde o nome do método esta contido em uma variável. Já podiamos fazer isso com variável variáveis e chamada de método variável. Agora pode utilizar esse conceito em métodos estáticos.

Veja a utilização no exemplo abaixo: (Estamos aproveitando a classe utilizada como exemplo no tópico anterior).

<?php
$class_name = "StaticClass";
$static_method_name = "printText";
$class_name::$static_method_name();

Segue a saída do script anterior:

string(32) "PrintText static function called"

Veja como ficou a chamada para nosso método estático usando variável no nome: $class_name::$static_method_name();

Comentários:

Mostrando 1 - 6 de 6 comentários
Ótimo post.
24/04/2012 5:53pm (~12 anos atrás)

Vejo em vários sites posts referente a incompatibilidade da nova mysqlnd, porém não bejo a solução, como conectar no mysql 5 usando php 5.3.3.

minha conexão funcionava e agora não tá funcionando mais.
15/10/2010 11:27am (~13 anos atrás)

cristhiane disse:
COMO EU FAÇO PARA PASSAR MEU PHORUM PARA O PORTUGUES?O QUE TENHO QUE FAZER..ONDE TENHO QUE COLOCAR?

ATT
CRIS
06/04/2010 12:53pm (~14 anos atrás)

Ah, sim! Uma coisa que não me lembro ter visto na sequência de artigos, mas que foi incorporado no PHP 5.3, foi a notação de strings com "nowdoc". Útil para gerar blocos de texto que contenham o símbolo "$" sem precisar escapá-los. Por exemplo, para mostrar um código PHP:

echo <<<'CODIGOPHP'
if ($a > 10) {
    echo '$a é maior que 10';
}
CODIGOPHP;

Utilizei ela para fazer um script que gera dinamicamente template de auto-completar do Eclipse.
22/03/2010 2:50am (~14 anos atrás)

Marcos Regis disse:
Douglas, seu artigo ficou muito bom. Parabéns.
Uma coisa com relação a estas novas funcionalidades que eu não gostei foi a definição do uso de mysqlnd por padrão. Para a utilização em novos projetos eu nem acho tão problemático mas já para upgrades pode ser um tormento a falta de divesas funcionalidades existente tanto para mysqli como para PDO_MYSQL principalmente porque agora diversas configurações do PHP interferem diretamente com a execução de instruções no MySQL, como o memory_limit e o default_socket_timeout.
Eu até entendo que eles queriam se livrar de vez do problema da licença mas acho que no manual (em todas as funções que usam mysql) já deveria informar que a partir do 5.3 é preciso prestar atenção a este item já que tem diversos bugs relacionados a esta extensão. (Aquele da entrada ::1 no arquivo hosts do Windows Vista/7 é o pior)

No mais o core está cada vez melhor.

NOTA: O suporte a compressão já está disponível na versão 5.3.2 que saiu dia 4 de março de 2010.
19/03/2010 10:46pm (~14 anos atrás)

Bacana a sequência de artigos. Parabéns.
19/03/2010 8:20pm (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)