Я писал код, который создает общий блог.Создание моего кода для написания плагинов для
Его функции просты, создают сообщение, редактируют и удаляют сообщение и позволяют оставлять комментарии.
Я пытаюсь написать его так, чтобы писать плагины очень легко, однако я не уверен в наилучшем подходе.
Некоторые из моих идей:
Есть плагин автор написать короткий скрипт, например, «конфигурация», в котором они есть массив, который имеет приложение (например, интерфейс, администратор и т.д.), модуль (например, блог , профиль и т. д.) и действия (например, создавать, редактировать и т. д.), которые влияет на его плагин, а затем включать файлы плагинов при выполнении правильного действия.
//example array in config.php: array( 'application' => 'admin', 'module' => 'blog', 'action' => array('create','edit') );
добавить строки в код таких представлений, как «{форм-статистов}» и есть плагин автор сказать, какая строка там код будет заменить. Затем используйте str_replace, чтобы заменить {xxx} на код плагина.
#example code in blog_form.php <input type="text" name="blog_title" /> <input type="text" name="blog_text" /> {form-extras} #example code in plugins config.php array( 'replace' => array('form-extras') );
Обе эти идеи довольно дрянь и очень ограничены в их использовании, но я изо всех сил, чтобы придумать лучшие идеи.
Я не знаю, как много информации о моем коде людей нужно, но основная структура реж проста, ниже приведен пример:
apps //applications
frontend //app name
modules
blog
views
index.php //list blogs
new.php //create new blog post
actions.class.php
admin
modules
blog
views
index.php //list blogs
new.php //create new blog post
actions.class.php
lib //library of classes like database class
plugins //where plugins will hopefully be installed
web //where the site runs e.g index.php, all the css and js
Вопрос
Кто-нибудь знает любой учебники/статьи о том, как сделать код легко написанным для плагинов, или у кого-нибудь есть какие-либо проверенные методы, которые я мог бы применить?
С уважением
Люк
Спасибо за пример кода Daniel , было бы жизнеспособной идеей иметь какой-то вызов, как у вас, в ваших циклах foreach в конструкциях классов базовых действий и деструкции? Таким образом, они всегда вызывались в самом начале и в конце любого кода в классе? Спасибо, что нашли время, чтобы написать приведенный выше пример с такой документацией, это очень ясно. – Luke
Мой код - всего лишь пример, это не реальный способ работы крючка drupla (вам действительно нужно дать, чтобы посмотреть на них в документации drupal). Некоторые крючки просто «переопределяют» базовые функции, другие работают как «проверка», если функция hook возвращает true, базовая функция выполняется, в противном случае - нет. Это всего лишь руководство, все зависит от ваших конкретных потребностей. – Strae
Спасибо, Дэниэл, полезные ссылки и комментарии, я копал код Drupal, и это было очень полезно. ура – Luke