PHPプロジェクトにあるMySQLテーブルごとに個別のクラスがあります。クラスは次のようになります。
class students {
public static function find_all() {
return self::sql_finder("SELECT * FROM ".get_class());
}
}
クラス名をテーブル名として変更することを除いて、プロジェクトにあるほとんどすべてのテーブルに同じクラスを使用します。これで、クラスで使用される関数で「get_class()」を使用したことがわかります。そのため、SQLはクラス名からテーブル名を取得します。
すべてのクラスで使用する関数がクラスに多すぎるため、次のようなサブクラスでクラスを拡張する予定です。
class class_with_all_the_common_functions {
public static function find_all() {
return self::sql_finder("SELECT * FROM ".get_class());
}
}
class student extends class_with_all_the_common_functions {
// some table specific functions
}
今、私が使用するstudent::find_all()
と、エラーが表示されます:
Database query failed: Table 'dr.class_with_all_the_common_functions
doesn't exist
その点がはっきりしていると思いますがfind_all()
、クラスの生徒と同じように実行してほしいです。それは遅い静的バインディングによって可能になるものですか?