3
respostas

Usar "string" na classe

Gostaria de compreender a seguinte situação, o Vinicius informa que se estiver usando PHP 7,4 e acima, na classe, pode-se usar a palavra string com o nome da classe.

'<?php

class Funcionario { private string $nome; private string $cpf; private string $cargo;

}'

Meu php é 7.4.3, e em todos os projetos que estou fazendo seguindo as orientações, deixando o termo string sempre ocorre erro no console do vscode. Se eu retirar a string, o código é executado sem problema.

'<?php

class Funcionario { private $nome; private $cpf; private $cargo;

}'

Dessa forma todos os projetos são executados sem qualque tipo de erro. Gostaria apenas de compreender o porque?

Obrigado.

3 respostas

Oi Gustavo,

Isso é o scalar type hinting que veio com o PHP 7. Se você usa o PHP na versão 7.4 deveria funcionar corretamente, a única coisa que me vem a mente é que você tem outras versões do PHP instaladas na sua máquina. É possível no console do vscode você usar o comando "php --version" para saber se realmente é o PHP 7.4 que está sendo executado?

A versão 7.4.3

'gustavo@gustavo-Spin-SP314-51:~$ php --version PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies'

Concordo que pode ser que tenha outras versões de php instala, até porque uso o Ubuntu 20.04.

Gustavo, você pode postar um print do erro, por favor?