Я хочу иметь разные значения для статической переменной у каждого ребенка (я не хочу создавать экземпляр класса): < /p>
Код: Выделить всё
abstract class Model {
protected static $table;
static function getTable(){
if(!static::$table){
// ClassName in plural to match to the table Name
static::$table = strtolower(static::class . 's');
}
return static::$table;
}
}
class Service extends Model {
}
class Categorie extends Model {
}
class Information extends Model {
static $table = 'infos'; // Overrides ClassName + s
}
Service::getTable(); // Return "services"
Categorie::getTable(); // Return "services"
Information::getTable(); // Return "infos"
Categorie::getTable(); //Return "servicies"
< /code>
Фактически, реальный интерес здесь создает классы для каждой таблицы, не задумываясь о том, к какой таблице мне нужно получить доступ. < /p>
Есть идеи?>
Подробнее здесь: https://stackoverflow.com/questions/629 ... each-child
Мобильная версия