Erro de análise estranho com variável de string concatenada estática [fechado
-
27-09-2019 - |
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!
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.