瀏覽代碼

Add dependency injection to load classes

ohartl 9 年之前
父節點
當前提交
3b8466ab7f
共有 2 個文件被更改,包括 10 次插入6 次删除
  1. 1 1
      README.md
  2. 9 5
      include/php/default.inc.php

+ 1 - 1
README.md

@@ -116,7 +116,7 @@ Without subdirectory in URL (e.g. `http://webmum.mydomain.tld/`):
 </VirtualHost>
 </VirtualHost>
 ```
 ```
 
 
-Access to the codebase is denied with a `.htaccess` file under ^/include/php^.
+Access to the codebase is denied with a `.htaccess` file, that can be found in `/include/php`.
 
 
 
 
 
 

+ 9 - 5
include/php/default.inc.php

@@ -26,11 +26,15 @@ if($db->connect_errno > 0){
 	die('Unable to connect to database [' . $db->connect_error . ']');
 	die('Unable to connect to database [' . $db->connect_error . ']');
 }
 }
 
 
-/* Import models */
-require_once 'include/php/models/User.php';
-
-/* Import classes */
-require_once 'include/php/classes/Auth.php';
+// register automatic loading for dependency injection
+spl_autoload_register(function($class){
+	if(file_exists('include/php/models/'.$class.'.php')){
+		include 'include/php/models/'.$class.'.php';
+	}
+	elseif(file_exists('include/php/classes/'.$class.'.php')){
+		include 'include/php/classes/'.$class.'.php';
+	}
+});
 
 
 /* Initialize Authentication (Login User if in session) */
 /* Initialize Authentication (Login User if in session) */
 Auth::init();
 Auth::init();