Ao tentar chamar o método get da classe, recebo o seguinte erro “Object of class Station could not be converted to string in”.
classe Station:
`class Station {
private $id, $name;
public function getId() {
return $this->id;
}
public function setId($id) {
$this->id = $id;
}
public function getName() {
return $this->name;
}
public function setName($name) {
$this->name = $name;
}
}`
chamada do método:
`public function saveStation($station) {
$connection = new DataB();
$connection->connectDB();
$station->getName(); está te retornando um objeto de dados e não um dado em String, isso porque, o PHP entende que você quer apenas a primeira iteração de um objeto.
Há duas maneiras de resolver:
1 - Utilizando {} na chama.
2 - Criando a chamada toString() para cada get.
Exemplos:
$name = {$station->getName()};
Ou
public function getName() {
$name = $this->name;
return $name.__toString();
}
Testei as duas partes de código que você postou (sem a parte de conexão com banco), não teve nenhum problema. Você tem certeza que o erro é na chamada do método $name = $station->getName();?
Quanto ao erro que você citou, basicamente é que não deu para representar um objeto da classe station como string. Da para forçar a exibição desse erro ao tentar imprimir um objeto com o comando echo. Exemplo: echo new Station();. Executando a instrução anterior é exibida uma mensagem de erro, com o numero da linha onde aconteceu. Verifique em qual linha do seu código aconteceu o erro.