コードには2つの大きな問題があります:
- さまざまな可視性
- 静的コール
詳細:
-
おっと、グローバル変数を忘れる必要があります。それらはカプセル化の原則に反しています。さらに、コードにはグローバル変数すら含まれていないため、
global $db;
行は無意味です。クラスレベルでプライベート$db変数を宣言します(プロパティ )connection()メソッドで初期化し、insertメソッドでアクセスします。 -
接続メソッドを
classo::connection();
として呼び出しています。 。ただし、接続メソッドを静的 として宣言する必要があります。 。接続メソッドを静的として宣言するか(ただし、$ dbも静的に変更します)、$thisを使用して通常のメソッドとして呼び出します。