Система плагинов для своего сайта на PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2031
Поблагодарили: 62 раза

Система плагинов для своего сайта на PHP

Сообщение Slash » Пн дек 21, 2015 1:57 pm

Здравствуйте.
Недавно на одном форуме помогал реализовать систему плагинов для одного сайта, и теперь хочу тут поделиться решением, которое предложил я. Система проста до безобразия, но прежде чем разбирать исходник, давайте разберемся, что такое плагин и для чего он нужен.
Плагины — это способ расширить возможности функционала своего сайта, без внесения правок в исходный код движка. Установка плагина занимает очень мало времени, порой для установки требуется только залить один файл в папку плагинов.

Теперь переходим к созданию самой системы плагинов. Создаем папку, куда будем заливать все свои плагины, например plugins. Наша задача получить содержимое этой папки, для этого будем использовать функцию scandir(). Затем в цикле foreach() будем проверять соответствует ли файл нашим требованиям, и если да, то подключаем файл при помощи функции include().
Код системы плагинов:

Код: Выделить всё

$dir = 'plugins/';          # Создаем переменную с именем каталога, где будут находится все плагины
$files = scandir($dir);     # Получаем список всех файлов в папке plugins

foreach($files as $file)    # Прогоняем список полученных файлов через цикл
{
    if (preg_match('#\.php#', $file))   # Проверяем, имеет ли файл расширение .php
   {
       include($dir . $file);          # Если файл с расширением .php, то подключаем его
   }
}

Теперь для примера создадим один плагин, который будет выводить текущею дату и время на экран. Назовем плагин (файл): date.php, с таким содержимым:

Код: Выделить всё

<?php
echo date('F j, Y, g:i a');

Сохраняем файл и заливаем его в папку plugins, и проверяем работу системы, на экране должно появится текущая дата и время, например:
December 21, 2015, 10:57 am

Если так, все все сделано правильно.

Надеюсь информация была полезной.
Спасибо за внимание.
Реклама

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя