Existem 2 grandes problemas no seu código:
- Visibilidade da variável
- Chamada estática
Em detalhe:
-
Em oop, você deve esquecer as variáveis globais. Eles são contra o princípio do encapsulamento. Além disso, você não tem nenhuma variável global em seu código, entãoglobal $db;
linha não tem sentido. Declare uma variável $db privada no nível da classe (propriedade ) inicialize-o no método connection() e acesse-o no método insert.
-
Você está chamando o método de conexão comoclasso::connection();
. No entanto, você precisaria declarar o método de conexão como static . Declare seu método de conexão como estático (mas altere $db para estático também) ou chame-o como um método regular usando $this.