1111 * Class Autoload
1212 * @package CodeMommy\AutoloadPHP
1313 */
14- class Autoload
14+ class Autoload implements AutoloadInterface
1515{
1616 /**
1717 * Autoload constructor.
@@ -22,10 +22,10 @@ public function __construct()
2222
2323 /**
2424 * Directory
25- * @param $directory
26- * @param $namespaceRoot
25+ * @param string $directory
26+ * @param string $namespaceRoot
2727 */
28- public static function directory ($ directory , $ namespaceRoot )
28+ public static function directory ($ directory = ' . ' , $ namespaceRoot = '' )
2929 {
3030 spl_autoload_register (function ($ className ) use ($ directory , $ namespaceRoot ) {
3131 $ directory = str_replace (array ('/ ' , '\\' ), DIRECTORY_SEPARATOR , $ directory );
@@ -41,7 +41,7 @@ public static function directory($directory, $namespaceRoot)
4141 $ extensionList = array ('php ' , 'class.php ' );
4242 foreach ($ extensionList as $ extension ) {
4343 $ file = $ directory . DIRECTORY_SEPARATOR . $ className . '. ' . $ extension ;
44- if (is_file ($ file )) {
44+ if (is_file ($ file ) && is_readable ( $ file ) ) {
4545 require_once ($ file );
4646 }
4747 }
@@ -50,18 +50,18 @@ public static function directory($directory, $namespaceRoot)
5050
5151 /**
5252 * File
53- * @param $file
54- * @param $className
53+ * @param string $file
54+ * @param string $className
5555 */
56- public static function file ($ file , $ className )
56+ public static function file ($ file = '' , $ className = '' )
5757 {
5858 spl_autoload_register (function ($ name ) use ($ file , $ className ) {
5959 $ className = str_replace (array ('/ ' , '\\' ), DIRECTORY_SEPARATOR , $ className );
6060 $ className = trim ($ className , '/ \\' );
6161 $ name = str_replace (array ('/ ' , '\\' ), DIRECTORY_SEPARATOR , $ name );
6262 $ name = trim ($ name , '/ \\' );
6363 if ($ className == $ name ) {
64- if (is_file ($ file )) {
64+ if (is_file ($ file ) && is_readable ( $ file ) ) {
6565 require_once ($ file );
6666 }
6767 }
@@ -70,12 +70,12 @@ public static function file($file, $className)
7070
7171 /**
7272 * Basic
73- * @param $file
73+ * @param string $file
7474 * @param bool $isOnce
7575 */
76- public static function basic ($ file , $ isOnce = true )
76+ public static function basic ($ file = '' , $ isOnce = true )
7777 {
78- if (is_file ($ file )) {
78+ if (is_file ($ file ) && is_readable ( $ file ) ) {
7979 $ isOnce ? require_once ($ file ) : require ($ file );
8080 }
8181 }
0 commit comments