Dúvida sobre métodos getters

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();

    	$name = $station->getName();

}`

$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();
}

Olá, deu erro nas duas formas. Na primeira deu unexpected ‘{’ e na segunda deu erro no __toString()

Tente assim:

public function getName __toString()
    {
        return $this->$name;
    }

Parse error: syntax error, unexpected '__toString' (T_STRING), expecting '(' in

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.