реализация работы плагинов на php

69
14 марта 2022, 19:20

Начал изучать php и столкнулся с проблемой. Вот я хочу чтобы к моей странице можно было подключить любое количество плагинов. Я поместил это в каталог plugins, и выглядит это так.

plugins/
  isuki/
    isuki.php
  test/
    test.php
    data.php

Чтобы плагин заработал, в каталоге должен быть файл с таким же именем что и каталог. Это файл и является главным. Я написал такой код, но он работает если плагин один, но если плагина два, то include уже не срабатывает. Вот код.

<?php
$pl = [];
$plugins_names = [];
$dir = dir ( "plugins/" );
while ( false !== ($plugin_dir = $dir->read( ))) {
    echo "plugins: $plugin_dir<br>";
    $file = "plugins/$plugin_dir/$plugin_dir.php";
    echo "$file<br>";
    include "$file";
     $plugin_name = $plugin_dir;
    if ( file_exists($file)) {
        $pl[$plugin_name] = 'init';
        $plugin_names[] = $plugin_name;
    }

}
$dir->close();
foreach ( $plugin_names as &$plugin ) {
    $func = $pl[$plugin];
    $func();
}
READ ALSO
Установка yii2. Избавиться от frontend/web/ и backend/web/ в url-е

Установка yii2. Избавиться от frontend/web/ и backend/web/ в url-е

Устанавливаю yii2Мне необходимо сделать так чтобы по ссылке "site

68
Разлогинить пользователя в Laravel

Разлогинить пользователя в Laravel

Как настроить авто выход (разлогиниться) в Laravel спустя к примеру 10 мин ?

207
Как вывести в датах &quot;сегодня&quot; и &quot;вчера&quot;?

Как вывести в датах "сегодня" и "вчера"?

Есть вывод новостей списком, вида:

143
php parser, что моло пойти не так?

php parser, что моло пойти не так?

Попросили спарсить цены на 1 продукт в разных магазинах

212