Como posso definir a versão do PHP no PHPStorm?

128

É possível definir o valor da versão do PHP, digamos 4.0+ e ter funções de destaque do PHPStorm que não funcionariam com a versão mais antiga? Por exemplo, para o PHP4, isso deve destacar static functionetc. Tenho uma instalação do PHP no meu PC, mas não quero instalar uma versão mais antiga do PHP para cada pequeno script que preciso produzir.

obrigado

Fofo
fonte
2
Por que isso destacaria __construct()? É um identificador de função perfeitamente válido no PHP4, apenas não está sendo chamado como construtor.
Mchl
1
@Mchl, a função estática está ok?
Fluffy
estática foi avaialbe no PHP4 também IIRC. Tente abstractou o uso de modificadores de visibilidade public, protected, private. De qualquer forma, escrever código OO que deveria funcionar no PHP4 e no PHP5 é uma tarefa sem sentido IMO. O modelo de objeto difere muito entre os dois.
Mchl
@Mchl static $variabletalvez, nãostatic function
Fluffy
Talvez. Eu não trabalhei com PHP4 OOP
Mchl

Respostas:

192

então, você quer destacar todos os trechos de código que não funcionarão com a versão do PHP em que você está escrevendo, certo? Isso pode ser feito aqui:

Preferences -> Languages & Frameworks > PHP

Ou com versões mais recentes do PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

insira a descrição da imagem aqui

depois selecione sua versão do PHP, por exemplo, 7.0

Isso é muito útil quando o sistema local executa o PHP 7.0, por exemplo, mas a produção está executando o PHP 5.5. Dessa forma, o phpstorm avisará quais partes não funcionarão na produção.

Alejandro Moreno
fonte
1
Qual versao voce usa? Eu não tenho essa opção na minha.
Fluffy
9
Podemos fazer isso por projeto ou isso é apenas "global"?
Ryanwinchester
3
Para a versão atual do PhpStorm: PhpStorm 2016.3.2. Deveria ser File -> Settings -> Languages & Frameworks -> PHP.
thoroc
1
É possível configurá-lo globalmente, não novamente para cada projeto?
Fusca Software
1
e não se esqueça, se você tiver o phpstrorm antigo (por exemplo, 2018.x), não verá um 7.4 no nível da linguagem PHP !
Vladimir Ch
110

Caso seu campo esteja desativado.

Provavelmente, suas configurações "Sincronizar configurações de IDE com composer.json" estão ativadas

Você pode alterar sua versão do PHP no composer.jsonarquivo

"require": {
    "php": ">=7.1.0",
}

OU desabilite suas configurações neste caminho

File -> Settings -> Languages & Frameworks > PHP > Composer

* Se você alterar seu arquivo composer.json - como comentou Félix Gagnon-Grenier , lembre-se de que isso afeta a maneira como os pacotes serão necessários posteriormente

Shay Altman
fonte
4
Esta resposta não é realmente precisa. Isso mudará o nível do idioma se (e somente se) a opção "sincronizar com o compositor" estiver marcada. Além disso, isso afeta a maneira como os pacotes serão necessários posteriormente.
Félix Gagnon-Grenier
3
Isso me ajudou a entender por que a seleção do nível de linguagem PHP foi desativada.
Sglessard 21/03/19
2
Este foi realmente útil
Nixon Kosgei
3
No meu caso, o phpstorm estava procurando outro compositor.json, então eu mudei e o problema foi resolvido. Obrigado!
Akmal
13

Abra a caixa de diálogo Configurações, escolhendo Arquivo | Configurações , clique em PHP em Idiomas e estruturas . A página PHP é aberta.

Captura de tela das configurações do PHP

Agora você pode fazer 2 coisas:

  1. Na página PHP aberta, você pode definir o "Nível da linguagem PHP".
  2. Você pode instalar a versão do PHP que deseja localmente, por exemplo, instalando pacotes como wamp ou xamp e, em seguida, defina o interpretador do seu PHP na página PHP que você abriu. Mais informações aqui
Salar
fonte
1
Você vê que está definindo 'Para o projeto atual'? Como posso atualizá-lo para Global (todos os projetos)?
Vuong
8

Você pode usar a resposta de Alejandro Moreno , mas às vezes pode não conseguir alterar o nível do PHP no menu suspenso fechado.

Você pode desativar a caixa de seleção "Sincronizar configurações do IDE com o composer.json" em:

File-> Setting-> Languages & Frameworks-> PHP->Composer

E depois de aplicar novamente aberto

File-> Settings-> Languages & Frameworks->PHP

Aqui você pode alterar o nível do PHP no menu suspenso aberto.

boolfalse
fonte
2

No Mac, está em PHPStorm, Preferences, Languages ​​& Frameworks, PHP

insira a descrição da imagem aqui

Suporte CFP
fonte
2

Você pode definir isso por projeto, conforme descrito por @Alejandro Moreno .

Há também uma configuração global, que permite definir o nível da linguagem PHP para todos os NOVOS projetos.

File-> Preferences for New Projects-> Languages & Frameworks->PHP

Aqui você pode definir o nível desejado para todos os projetos futuros :-)

MrG
fonte
1

na foto ..........................

NO

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

des1roer
fonte
1

Minha versão do PHP do compositor está sincronizada com o phpstorm, para escolher explicitamente o nível da linguagem php na configuração, verifique se a opção na figura abaixo está desabilitada.

insira a descrição da imagem aqui

Mohammed Yassine CHABLI
fonte
0

assim como @mohammed, minha versão PHP do compositor foi sincronizada com meu phpstorm. então tudo o que fiz foi atualizar o número da versão do composer.json php e isso afetou todo o projeto.

não esqueça composer update e php artisan config:clear

feliz codificação!

The Dead Guy
fonte