Eu não entendi porque depois de "VALUE" foi utilizado essas duas aspas além dos dois pontos em torno do "$this->nome". Porque não pódia ser apenas "VALUES($this->nome) " ?
Categoria.php
public function inserir() {
$query = "INSERT INTO categorias (nome) VALUES ('" . $this->nome . "')";
}