Viva!
É verdade que não pesquisei muito sobre o assunto na esperança de obter aqui na comunidade o que procuro![:)]()
Existe alguma forma mais recente de "forçar" o tipo (class) de elemento de uma lista? Também com o propósito de aquando a programar com o IDE, obtenhamos com o type hint a indicação da classe do elemento.
Exemplo:
Código (PHP):
Sei que em Java podem-se definir o tipo dos elementos de uma lista com List<String> stringList = new ArrayList<String>();
Existe em PHP algo recente que também permita definir assim um array?
Obrigado.
É verdade que não pesquisei muito sobre o assunto na esperança de obter aqui na comunidade o que procuro

Existe alguma forma mais recente de "forçar" o tipo (class) de elemento de uma lista? Também com o propósito de aquando a programar com o IDE, obtenhamos com o type hint a indicação da classe do elemento.
Exemplo:
Código (PHP):
class Tipo {
}
class Teste {
/**
* Aqui quero uma lista de objetos da classe Tipo
*/
private $lista1 = array();
/**
* Aqui quero uma lista de strings
*/
private $lista2 = array();
// Construtor bla bla bla...
/**
* Magic get para obter a propriedade
*/
public function __get($prop) {
return $this->$prop;
}
}
// Depois fora da classe, ao programar, queria saber qual o tipo de elemento da lista, assim:
$teste = new Teste();
$item = reset($teste->lista1); // aqui queria saber qual o tipo (ou classe) do elemento
// O mesmo para adicionar...
$teste = new Teste();
$teste->lista1[] = '' // Só deveria deixar adicionar elementos de um determinado tipo... (isto sem ser necessário criar um método específico para adicionar elementos).
}
class Teste {
/**
* Aqui quero uma lista de objetos da classe Tipo
*/
private $lista1 = array();
/**
* Aqui quero uma lista de strings
*/
private $lista2 = array();
// Construtor bla bla bla...
/**
* Magic get para obter a propriedade
*/
public function __get($prop) {
return $this->$prop;
}
}
// Depois fora da classe, ao programar, queria saber qual o tipo de elemento da lista, assim:
$teste = new Teste();
$item = reset($teste->lista1); // aqui queria saber qual o tipo (ou classe) do elemento
// O mesmo para adicionar...
$teste = new Teste();
$teste->lista1[] = '' // Só deveria deixar adicionar elementos de um determinado tipo... (isto sem ser necessário criar um método específico para adicionar elementos).
Sei que em Java podem-se definir o tipo dos elementos de uma lista com List<String> stringList = new ArrayList<String>();
Existe em PHP algo recente que também permita definir assim um array?
Obrigado.