PHProgress
Новичок
Добрый день.
Уже более недели изучаю ОПП в PHP. В связи с этим появилась практическая задача написать класс, к примеру который обрабатывает работу со страницами сайта.
Структура класса выглядит следующим образом (К ПРИМЕРУ):
Есть сам класс (class.page.php - вышеприведенный) и должны быть его опции (class.page-option1,2,3,4,5 N и т.д.php) как-бы его расширение, настройки и дополнения.
В связи с этим вопрос.
Как можно расширять данный класс class.page.php на основе внешних настроек и дополнений :
1. К примеру дополнить в него новую функцию из файла class.page-option1.php
2. К примеру модернизировать существующую функцию function PAGE_info(), изменив в ней SQL-запрос с добавлением дополнительный параметров WHERE из файла class.page-option2.php
3. К примеру расширить функцию PAGE_display на основе файла class.page-option3.php, дабавив туда отправку заколовка Header.
Другими словами, как сделать гибкий класс, поддающийся внешним настройкам, модернизациям и дополнениями?
--
Как реализуется подобная концепция гибкости классов и где можно про это посмотреть?
Уже более недели изучаю ОПП в PHP. В связи с этим появилась практическая задача написать класс, к примеру который обрабатывает работу со страницами сайта.
Структура класса выглядит следующим образом (К ПРИМЕРУ):
PHP:
<?php
########################################
/*
ФАЙЛ class.page.php
*/
########################################
class Page{
var $id; #id-страницы
var $title; #название страницы
var $url; #url-страницы
var $text; #содержимое страницы
// Конструктор
function __construct() { }
function PAGE_info(){
//Здесь идет обработка запроса к БД
$q = "SELECT * FROM Page WHERE id=".$this->$id;
$result = mysql_query($q);
$row = mysql_fetch_array($result);
return $row;
}
function PAGE_display(){
//Здесь идет вывод страницы
print "<html>";
print "<head>$title</head>";
print "<body>$text</body>";
print "</html>";
}
function PAGE_update(){
//Здесь идет обработка запроса по обновлению данных в БД
}
#----#----#
// Деструктор
function __destruct() { }
}
?>
Есть сам класс (class.page.php - вышеприведенный) и должны быть его опции (class.page-option1,2,3,4,5 N и т.д.php) как-бы его расширение, настройки и дополнения.
В связи с этим вопрос.
Как можно расширять данный класс class.page.php на основе внешних настроек и дополнений :
1. К примеру дополнить в него новую функцию из файла class.page-option1.php
2. К примеру модернизировать существующую функцию function PAGE_info(), изменив в ней SQL-запрос с добавлением дополнительный параметров WHERE из файла class.page-option2.php
3. К примеру расширить функцию PAGE_display на основе файла class.page-option3.php, дабавив туда отправку заколовка Header.
Другими словами, как сделать гибкий класс, поддающийся внешним настройкам, модернизациям и дополнениями?
--
Как реализуется подобная концепция гибкости классов и где можно про это посмотреть?