Browse Source

dev 2020-09

Max F 5 years ago
parent
commit
3471a87c8e

+ 3 - 0
Readme.md

@@ -41,9 +41,12 @@ bin
 config
     config.php
 src
+    scripts
+        my_test_script.php
     Models
     helpers
 vendor
+    karmasolutions/karmafw
 ```
 
 

+ 1 - 2
src/ConsoleApp.md

@@ -14,6 +14,7 @@ src
     Models
     helpers
 vendor
+    karmasolutions/karmafw
 ```
 
 
@@ -32,7 +33,6 @@ nano bin/app_console.php
 define('APP_DIR', realpath(__DIR__ . '/..'));
 define('VENDOR_DIR', realpath(__DIR__ . '/../vendor'));
 
-
 require APP_DIR . '/config/config.php';
 
 
@@ -41,7 +41,6 @@ $loader = require VENDOR_DIR . '/autoload.php';
 $loader->setPsr4('MyApp\\', __DIR__ . '/../src');
 
 
-
 // APP BOOT
 \KarmaFW\ConsoleApp::boot();
 

+ 55 - 31
src/Database/Sql/Readme.md

@@ -1,67 +1,91 @@
 
-// DROP DATABASE
 ```
-$db->dropDatabase('test', true);
+# Create connection
+$db = App::getDb('default', 'mysql://user:password@localhost/db_name');
+
+# Call known connection
+$db = App::getDb('default');
+
+# Call default connection (if known)
+$db = App::getDb();
 ```
-// returns boolean
 
+# MANAGE DATABASES
+
+## DROP DATABASE
+```
+$db->dropDatabase('test', true);
+```
+=> returns boolean
 
-// CREATE DATABASE
+## CREATE DATABASE
 ```
 $db->createDatabase('test', true);
 ```
-// returns boolean
+=> returns boolean
 
-// USE DATABASE
+## USE DATABASE
 ```
 $db->use('test');
 ```
-// returns boolean
+=> returns boolean
+
 
+# MANAGE TABLES
 
-// CREATE TABLE
+## CREATE TABLE
 ```
 $db->createTable('TEST', ['id' => 'int(11) not null auto_increment', 'my_int' => 'int(11) null', 'my_text' => "varchar(32) not null default ''"], ['primary key (id)'], true);
 ```
-// returns boolean
+=> returns boolean
 
 
-// INSERT ROW FROM OBJECT
-```
-$test = new \StdClass;
-$test->my_int = '111';
-$test->my_text = 'ok';
-$db->getTable('TEST')->insert($test);
-```
-// returns insert_id
 
-// INSERT ROW FROM ARRAY
+# INSERT ROWS
+
+## INSERT ROW FROM ARRAY
 ```
 $test = [
-	'my_int' => '111',
-	'my_text' => 'ok',
+    'my_int' => '111',
+    'my_text' => 'ok',
 ];
 $db->getTable('TEST')->insert($test);
 ```
-// returns insert_id
+=> returns insert_id
 
-
-// UPDATE ROW
+## INSERT ROW FROM OBJECT
 ```
-$db->getTable('TEST')->update(['my_int' => '11111', 'my_text' => 'ok ok'], ['id' => 1]);
+$test = new \StdClass;
+$test->my_int = '111';
+$test->my_text = 'ok';
+$db->getTable('TEST')->insert($test);
 ```
-// return affected_rows
+=> returns insert_id
 
 
-// GET ROWS
+# UPDATE ROWS
 ```
-$test = $db->getTable('TEST')->getAll();
+$update = ['my_int' => '11111', 'my_text' => 'ok ok'];
+$where = ['id' => 1];
+$db->getTable('TEST')->update($update, $where);
 ```
-// returns array (2 dimensions)
+=> return affected_rows
 
-// GET ROW
+## GET 1 ROW
+```
+$test = $db->getTable('TEST')->one($where, $options);
+//$test = $db->getTable('TEST')->getOne($where, $options);
 ```
-$test = $db->getTable('TEST')->getOne();
+=> returns array
+
+## GET MULTIPLE ROWS
 ```
-// returns array
+$test = $db->getTable('TEST')->all($where, $options);
+//$test = $db->getTable('TEST')->select($where, $options);
+//$test = $db->getTable('TEST')->getAll($where, $options);
+
+$test = $db->getTable('TEST')->getAllWithFoundRows($where, $options);
 
+$test = $db->getTable('TEST')->getAllPagination($where=null, $nb_per_page=10, $page_idx=1, $options=[]);
+```
+=> returns array (2 dimensions)

+ 3 - 0
src/Database/Sql/SqlSchema.php

@@ -3,9 +3,12 @@
 namespace KarmaFW\Database\Sql;
 
 
+// TODO: a transformer en une classe trait de SqlDb
+
 class SqlSchema
 {
 	protected $db;
+	
 
 	public function __construct($db)
 	{

+ 1 - 1
src/Database/Sql/SqlTableModel.php

@@ -69,7 +69,7 @@ class SqlTableModel
 	{
 		$db = static::getDb();
 		static::checkTable();
-		return $db->getTable(static::$table_name)->select($where, $options);
+		return $db->getTable(static::$table_name)->getAll($where, $options);
 	}
 
 

+ 2 - 0
src/Database/Sql/SqlTools.php

@@ -3,6 +3,8 @@
 namespace KarmaFW\Database\Sql;
 
 
+// TODO: a transformer en une classe trait de SqlDb
+
 class SqlTools
 {
     protected $db;

+ 6 - 1
src/Routing/Controllers/AppController.php

@@ -13,12 +13,17 @@ class AppController
 
 	public function __construct()
 	{
+
+		if (defined('USE_HOOKS') && USE_HOOKS) {
+			HooksManager::applyHook('appcontroller.before', [$this]);
+		}
+
 		if (defined('DB_DSN')) {
 			$this->db = App::getDb();
 		}
 
 		if (defined('USE_HOOKS') && USE_HOOKS) {
-			HooksManager::applyHook('appcontroller__init', [$this]);
+			HooksManager::applyHook('appcontroller.after', [$this]);
 		}
 
 		//echo "DEBUG " . __CLASS__ . ": controller instanced<hr />" . PHP_EOL;

+ 9 - 0
src/Routing/Controllers/WebAppController.php

@@ -3,6 +3,7 @@
 namespace KarmaFW\Routing\Controllers;
 
 use \KarmaFW\WebApp;
+use \KarmaFW\Lib\Hooks\HooksManager;
 
 
 class WebAppController extends AppController
@@ -19,6 +20,10 @@ class WebAppController extends AppController
 	{
 		parent::__construct($request_uri, $request_method, $route);
 
+		if (defined('USE_HOOKS') && USE_HOOKS) {
+			HooksManager::applyHook('webcontroller.before', [$this]);
+		}
+
 		$this->user_id = session('user_id');
 
 		$this->flash = session('flash');
@@ -36,6 +41,10 @@ class WebAppController extends AppController
 				$this->template->assign('h1', APP_NAME);
 			}
 		}
+
+		if (defined('USE_HOOKS') && USE_HOOKS) {
+			HooksManager::applyHook('webcontroller.after', [$this]);
+		}
 	}
 
 	public function getRoute()

+ 1 - 1
src/Routing/Readme.md

@@ -26,7 +26,7 @@ Router::delete('/clients/delete-client', ['App\\Controllers\\ClientController',
 
 
 // 404
-Router::get('.*', ['App\\Controllers\\ErrorController', 'error404']);
+Router::get('.*', ['App\\Controllers\\ErrorController', 'error404'], 'regex');
 
 ```