Pergunta

Estou recebendo este erro:

Erro de análise: erro de sintaxe, inesperado '.', Esperando ',' ou ';' in /var/(...)/config.php na linha 5

Com este código (simplificado):

<?php

class Config
{
   public static $somevar = "Date: " . date('Y');
}

?>

Eu pensei que isso era PHP válido, mas acho que não ... o que estou fazendo de errado aqui? Obrigado!

Foi útil?

Solução

De acordo com os documentos PHP:

Como qualquer outra variável estática PHP, as propriedades estáticas só podem ser inicializadas usando uma literal ou constante; expressões não são permitidas. Portanto, embora você possa inicializar uma propriedade estática para um número inteiro ou matriz (por exemplo), você não pode inicializá -lo em outra variável, para um valor de retorno de função ou para um objeto.

Tente escrever

Config::$somevar = "Date: " . date('Y');

Após a definição da classe.

Outras dicas

Nenhuma operação ou função é permitida para a inicialização da propriedade, porque isso é avaliado ao analisar.

A partir de Manual

Como qualquer outra variável estática PHP, as propriedades estáticas só podem ser inicializadas usando uma literal ou constante; expressões não são permitidas. Portanto, embora você possa inicializar uma propriedade estática para um número inteiro ou matriz (por exemplo), você não pode inicializá -lo em outra variável, para um valor de retorno de função ou para um objeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top