В 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();