Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКодингПишем движок на PHP. Часть II
© Guru 10.05.2006

Скачать исходники (gengine2.rar)

В прошлой части я обещал создать систему шаблонов и в итоге у нас получится полноценный движок. Делать движок полноценным я передумал из личных соображений. Конечно возможность добавлять и удалять новости в зависимости от уровня доступа пользователя я сделал, но остальную часть я хочу чтобы сделал ты сам. Все классы, необходимые для работы движка есть – необходимо просто использовать их вместе. Класс, который реализует работу с шаблонами – сделан, и сейчас я расскажу тебе как им пользоваться. Перед тем как что-то пробовать удостоверься что у тебя стоит как минимум 5й PHP.

Приступим. Скачай исходники и открой файл templates.php . Заметь, вместо привычного var ты видишь public . Объявление переменных в классе таким образом означает что эти переменные будут доступны вне объекта, тоже самое можно сделать для методов ( "public function foo()" ). Кроме public ещё есть private и protected, про них можешь прочесть в мануале к PHP5. Вместо привычного "function template()" ты видишь "function __construct()". Так можно объявлять конструктор в 5й версии PHP. Ещё одной особенностью класса можно отметить деструктор "function __destruct()". Деструктор это тот же метод, только он выполняется при освобождении объекта из памяти.

Теперь я думаю тебе понятно как можно реализовать шаблоны при помощи конструктора и деструктора. Если ты не понял, тогда я объясню. Итак, наш конструктор имеет такие параметры: $header, $footer, $title, $dir
Параметры $header и $footer это пути к файлам-шаблонам и являются обязательными. Конструктор считывает содержимое этих файлов в внутренние переменные $header и $footer. Параметр $title это то что будет отображаться в тэге вместо {TITLE}. Если в шаблоне имеются пути (например href="{DIR}templates/style.css") , то {DIR} будет заменён на $dir.

Метод addhtml($html,$rep_words = array(),$die = false) добавляет к $this->header какие нить тэги, если массив $rep_words пуст. Если же $html это файл, то он просто считывается и содержимое так же добавляется в $this->header. Если массив $rep_words не пуст и $html имеет правила (тот же "{TITLE}","{DIR}" и т.п.) то они будут заменены на значения этого массива. То есть если у нас имеется массив array("{TITLE}"=>"title","{DIR}"=>"../../"), то ключи этого массива будут словами которые нужно заменять, а значения этих ключей будут словами которые заменяют эти ключи в $html. Так же когда третий параметр $die равен true – всё то что было до этого добавлено в $html будет удалено, а то что только что было дано добавиться, да и к тому же выполниться die(). Это нужно для того чтобы на странице было только что-то одно (например сообщение). Вроде понятно объяснил (:

Метод init($die = false) выводит сформированный шаблон, точнее его заголовок ($this->header).
Деструктор __destruct() выводит содержимое $this->footer.

Вот пожалуй и всё что я хотел написать по поводу шаблонов. Всё необходимое ты извлечешь из исходников.




© Guru 10.05.2006

e-Commerce Partners Network
Mr_ZLO написал:

ссылку на исходники поправьте:
http://www.gfs-team.ru/downloads/gengine2.rar

fraIzer написал:

не понравилась статейка...

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
19.08.2017 17:11:42 Роберт написал:
> Почты: «mail.ru» «rambler.ru» «yandex.ru» «gmail.com» «yahoo.com» «hotmail.com» «bigmir.net» ...
Взлом за 15 минут
19.08.2017 17:10:50 Роберт написал:
> Почты: «mail.ru» «rambler.ru» «yandex.ru» «gmail.com» «yahoo.com» «hotmail.com» «bigmir.net» ...
Социальная инженерия. Часть II
19.08.2017 17:09:45 Роберт написал:
> Почты: «mail.ru» «rambler.ru» «yandex.ru» «gmail.com» «yahoo.com» «hotmail.com» «bigmir.net» ...
Возрождение СИ
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100