не могу найти в Yii2 это до сих пор и
если вы хотите, вы можете сделать следующее
Расширение содержимого класса Yii, в котором он находится (/vendor/yiisoft/yii2/Yii.php), и добавление в класс функций Yii
общедоступная статическая нагрузка ($ path) и
статическая функция listFolderFiles ($ dir).
:
Используйте эти примеры в своем коде!
Yii :: нагрузки ( 'модель *.');
- загрузка всех файлов в моделях каталогов и всех файлов в подкаталогах
Yii :: load (['models. *', 'Components. *']);
- загрузка всех файлов в моделях и компонентах, а также файлов в подкаталогах
Yii :: нагрузки ([ 'модели *.', 'Components.yourClassFileName']);
- при этом загружаются все файлы в моделях (и файлы в подкаталогах) и один файл в компонентах
публичная статическая функция load ($ path = null) с содержимым:
if($path != null){
$root = self::getAlias('@webroot');
if(is_array($path)){
foreach($path as $p){
$p = str_replace('/', '\\', $root).'/'.str_replace('.','/',$p);
if(substr($p, -2) == '/*'){
$dir = substr($p, 0, -2);
self::listFolderFiles($dir);
} else {
require substr($p, 0, -1).'.php';
}
}
}
if(is_string($path)){
$path = str_replace('/', '\\', $root).'/'.str_replace('.','/',$path);
if(substr($p, -2) == '/*'){
$dir = substr($p, 0, -2);
self::listFolderFiles($dir);
} else {
require $path.'.php';
}
}
}
статическая функция listFolderFiles ($ dir) с содержимым:
$ffs = scandir($dir);
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
if(is_dir($dir.'/'.$ff)) {
self::listFolderFiles($dir.'/'.$ff);
} else {
require $dir.'/'.$ff;
}
}
}