Browse Source

dev 2020-09

Max F 5 years ago
parent
commit
e183acf8be
4 changed files with 57 additions and 14 deletions
  1. 0 13
      Readme.md
  2. 19 1
      src/App.php
  3. 9 0
      src/Lib/Hooks/HooksManager.php
  4. 29 0
      src/WebApp.md

+ 0 - 13
Readme.md

@@ -156,27 +156,14 @@ nano public/index.php
 define('APP_DIR', realpath(__DIR__ . '/..'));
 define('VENDOR_DIR', realpath(__DIR__ . '/../vendor'));
 
-require APP_DIR . '/config/config.php';
-
 
 // AUTOLOAD
 $loader = require VENDOR_DIR . '/autoload.php';
 $loader->setPsr4('MyApp\\', __DIR__ . '/../src');
 
 
-// ERRORS HANDLER
-$whoops = new \Whoops\Run;
-$whoops->prependHandler(new \Whoops\Handler\PrettyPageHandler);
-$whoops->register();
-
-
-// ROUTE
-require APP_DIR . '/config/routes.php';
-
-
 
 // APP BOOT
-\KarmaFW\WebApp::registerHelpersDir(APP_DIR . '/src/helpers');
 \KarmaFW\WebApp::boot();
 
 

+ 19 - 1
src/App.php

@@ -31,6 +31,10 @@ class App
 			HooksManager::applyHook('app.boot.before', []);
 		}
 
+		// TODO: config à migrer dans un fichier .env et .env.prod et .env.dev et .env.local (à charger dans cet ordre, avec overwrite)
+		require APP_DIR . '/config/config.php';
+
+
 		// move fw_helpers at the end of the list (to be loaded the last one)
 		if (count(self::$helpers_dirs) > 1) {
 			$fw_helpers = array_shift(self::$helpers_dirs);
@@ -60,11 +64,25 @@ class App
 			self::$db = static::getDb();
 		}
 
-		self::$booted = true;
+
+		// ERRORS HANDLER   // NOTE => a déplacer dans \KarmaFW\WebApp::boot() ??
+		if (defined('ENV') && ENV == 'dev') {
+			$whoops = new \Whoops\Run;
+			$whoops->prependHandler(new \Whoops\Handler\PrettyPageHandler);
+			$whoops->register();
+		}
+
+
+		// LOAD ROUTES
+		require APP_DIR . '/config/routes.php'; // NOTE => a déplacer dans \KarmaFW\WebApp::boot() ??
+
 
 		if (defined('USE_HOOKS') && USE_HOOKS) {
 			HooksManager::applyHook('app.boot.after', []);
 		}
+
+
+		self::$booted = true;
 	}	
 
 

+ 9 - 0
src/Lib/Hooks/HooksManager.php

@@ -2,6 +2,15 @@
 
 namespace KarmaFW\Lib\Hooks;
 
+
+// DEFINE YOUR CUSTOM HOOKS
+/*
+\KarmaFW\Lib\Hooks\HooksManager::addHookAction('webcontroller.init', function ($controller) {
+    echo "webcontroller hooked<hr />";
+});
+*/
+
+
 class HooksManager {
 	// source: https://stackoverflow.com/questions/5931324/what-is-a-hook-in-php
 

+ 29 - 0
src/WebApp.md

@@ -0,0 +1,29 @@
+
+
+## Structure d'une app web
+
+```
+config
+    config.php
+    routes.php
+public
+    .htaccess
+    index.php
+    images
+    css
+    js
+    vendor
+src
+  Controllers
+    MyAppController
+    HomeController
+  Models
+    User
+  helpers
+    helpers_myapp.php
+templates
+    homepage.tpl.php
+vendor
+    karmasolutions/karmafw
+```
+