Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Написание плагинной системы


Автор: merge 24.2.2008, 20:58
Пишу свой движок. Хочу внести зачатки плагинной системы. 
Как проще сие реализовать с использование smaty как шаблонного движка?

Выделить-ли плагинный движок в отдельный класс? как лучше организовать структуру новых плагинов?

Автор: awers 24.2.2008, 21:04
надо начать с того ЧТО ты называешь плагином и с какой целью они будут использоваться. слишком абстрактная задача.

Код

include_once('moy_plagin.php');
$c = new MoYPlagin();
$c->show();


Это плагин?

Автор: merge 26.2.2008, 10:34
хочу реализовать, чтобы плагин имел возможность парсить, фильтровать определенные куски страницы, чтобы иметь возможность вставить свои данные, изменить уже имеющиеся данные

Автор: awers 26.2.2008, 16:03
тогда это виджет. ну так а в чем проблема заключается?

Автор: merge 27.2.2008, 08:21
я могу зарегистрировать функцию постфильтра, которая-бы пропускала всю страницу через функцию обработки. а мне необходимо пускать в фильтрафию конкретный кусок страницы. вопрос собственно в этом. как это реализовать. и возможно-ли..

Автор: Aikus 27.2.2008, 10:16
1. Парсить всю страницу, выискивать там необходимый кусок и отдавать этот кусок на растерзание фильтру. =)
2. Хранить этот кусок в отдельном месте от всей страницы (БД или файл).

Можно вообще лениво сделать - отдать джаваскрипт пользователю, пусть этот скрипт и фильтрует, хоть сервант отдохнет =)

Автор: merge 27.2.2008, 19:55
можно тогда вопрос относительно терминов. 

что есть плагин и что есть виджет в php

Автор: awers 27.2.2008, 21:44
просто ВИДЖЕТ ближе по смыслу. а вообще советую тогда использовать шаблонизаторы. Это сократит время разработки.

Автор: merge 28.2.2008, 10:09
a smarty  это не шаблонизатор?

Автор: awers 29.2.2008, 01:21
тут начали работу со смарти....
бла бла бла.... мой код
тут проверили какие виджеты нам нужны....
подключаем виджет, передаем ссылку на смарти
-------
добавляем свои данные и т.п.
-------

выводим данные


в чем трабл? )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)