-
Notifications
You must be signed in to change notification settings - Fork 8
/
semiAutoloader.php
41 lines (37 loc) · 1.26 KB
/
semiAutoloader.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/*
* SnapeBot, PHP Framework for Telegram Bots
* Copyright (C) 2019 Enea Dolcini
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
$autoloadDirectories = [
'src',
];
function autoloadDirectory($directory)
{
foreach (new DirectoryIterator($directory) as $item) {
if (!$item->isDot()) {
if (!$item->isFile()) {
autoloadDirectory($item->getPathname());
} elseif ($item->isFile() && 'src/SnapeBot.php' != $item->getPathname()) {
require_once $item->getPathname();
}
}
}
}
foreach ($autoloadDirectories as $directory) {
autoloadDirectory($directory);
}
require_once 'src/SnapeBot.php';