У меня есть 4 класса, каждый со своими таблицами базы данных:
- GlobalObject
- Изображение
- Проект
- Страница
GlobalObject имеет 3 свойства
- global_object_id
- Added_by
- datetime_added
Изображение, Проект и Страница имеют много разныхполя, они ВСЕ имеют следующее:
- id
- global_object_id (внешний ключ)
В настоящий момент в моей структуре классов есть изображения, проектыи Pages как подклассы класса GlobalObject, это позволяет 3 подклассам получить доступ к требуемым из них переменным, datetime_added и т. д.
Как установить свойства с помощью PHP и MySQL?На данный момент ВСЕ поля (включая поля в таблице global_object) находятся в таблице каждого раздела (кроме global_object_id, который не может существовать без новой таблицы - и поэтому мне нужно это сделать), поэтому я запрашиваю данные из Imageнапример, таблица, которая включает в себя все свойства родительского класса и задается с помощью parent :: set_by_row ($ database_args) и $ this-> set_by_row ($ database_args);
В настоящий момент я делаю следующее(Используя Image в качестве примера):
class Image extends GlobalObject
{
$id;
$title;
function set_by_id($id)
{
// Select Q from Image table
$this->set_by_row($db_result);
}
function set_by_row($args)
{
parent::set_by_row($args);
// Set class properties
}
}
Повторно: я хочу иметь возможность сделать следующее:
$image = new Image()
$image->set_by_global_object_id(23);
И изображение будет установлено, включая все в родительскомкласс (который хранится в отдельной таблице)
Пожалуйста, спросите, если что-то из этого неясно.