Всем доброго времени суток!
В PHP программирую уже порядка трех лет, но решил изучить ООП php5. У меня конечно много вопросов, но на данный момент всего два. Вопросы основаны по ссылке http://www.php.su/articles/?cat=oop&page=006 (прочитал я конечно не только данную статью)
1-й вопрос?! В чем преимущество (на данном примере) использования конструктора при выводе Title, Description, Keywords, в сравнении с нативным кодом PHP (SQL->SELECT-REZULT, полученные данные присваиваем значения переменным и просто делаем echo тег же переменных в требуемых местах – к примеру Title, Description, Keywords?
2-й вопрос?! «class IndexPage extends HTMLPage» должен располагаться в структуре после «abstract class HTMLPage»? так как работает так и так. Есть ли какое ПО для отладки ООП? Хотелось бы себя контролировать на стадии обучения.
PHP:
скопировать код в буфер обмена
abstract class HTMLPage { protected $Title = ""; protected $Description = ""; protected $Keywords = ""; function __construct($Title, $Description, $Keywords) { $this->Title = "Домашняя страница | " . $Title; $this->Description = " Description " . $Description; $this->Keywords = " Keywords " . $Keywords; } function BeginHTML() { echo ' <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>'.$this->Title.'</title> <meta name="description" content="'.$this->Description.'"> <meta name="keywords" content="'.$this->Keywords.'"> <link rel="stylesheet" href=""> </head> <body>'; } function EndHTML() { echo ' </body> </html> '; } abstract function MainText(); function Write() { $this->BeginHTML(); $this->Logo(); $this->Menu(); $this->MainText(); $this->Menu(); $this->EndHTML(); } } class IndexPage extends HTMLPage { function MainText() { echo "<p>Текст Текст Текст Текст Текст Текст Текст </p>"; } function Logo() { echo "<h1>Заголовок H1</h1>"; } function Menu() { echo " <table> <tr> <td><a href='index.php'>Главная страница</a></td> <td><a href='bio.php'>Биография</a></td> <td><a href='links.php'>Ссылки</a></td> </tr> </table> "; } } $Page = new IndexPage("Добавлено к Title", "Добавлено к Description", "Добавлено к Keywords"); $Page->Write();
(Отредактировано автором: 01 Февраля, 2017 - 21:17:01)
|