VERSION-0.9.4.2 Database switch in order to disable the database adapter completly, minor bugfix in the postgress database adapter concerning the configuration settings. Added gitignore file

This commit is contained in:
stephan
2019-11-19 16:19:14 +01:00
parent a789d89515
commit a2c7170463
7 changed files with 70 additions and 35 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
core/l/*

View File

@@ -1,6 +1,6 @@
# Nibiru # Nibiru
### Rapid Prototyping PHP Framework ### Rapid Prototyping PHP Framework
Version 0.9.4.1 beta Version 0.9.4.2 beta
## Introduction ## Introduction
<div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 12px; margin-bottom: 15px;">Nibiru is a rapid prototyping framework written in PHP and based on the MVC design pattern. Now one may say that writing <br> <div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 12px; margin-bottom: 15px;">Nibiru is a rapid prototyping framework written in PHP and based on the MVC design pattern. Now one may say that writing <br>
@@ -20,6 +20,9 @@ Engine Implementation.</div>
<li>Dwoo template engine ( untested )</li> <li>Dwoo template engine ( untested )</li>
<li>Twig template engine ( untested )</li> <li>Twig template engine ( untested )</li>
<li>PDO adapter to the MySQL database</li> <li>PDO adapter to the MySQL database</li>
<li>PDO adapter to the Postgress database</li>
<li>ODBC adapter to the Postgress database</li>
<li>Autogenerator for models corresponding to the database tables</li>
<ol> <ol>
<li>read datasets from a complete table</li> <li>read datasets from a complete table</li>
<li>read datasets by selection from a table</li> <li>read datasets by selection from a table</li>
@@ -117,7 +120,6 @@ Engine Implementation.</div>
<li>Add autoated class generator for MySQL database models</li> <li>Add autoated class generator for MySQL database models</li>
</ul> </ul>
<h1>Update</h1>
<p>Version 0.9.3 beta 09.11.2019</p> <p>Version 0.9.3 beta 09.11.2019</p>
<ul> <ul>
<li>Autoloader is now supporting a better module structure</li> <li>Autoloader is now supporting a better module structure</li>
@@ -125,7 +127,13 @@ Engine Implementation.</div>
<li>Updated the annotations for better autocompletion</li> <li>Updated the annotations for better autocompletion</li>
<li>removed the Twig and Dwoo engines, they are not needed anymore</li> <li>removed the Twig and Dwoo engines, they are not needed anymore</li>
</ul> </ul>
<h1>Update</h1>
<p>Version 0.9.4.2</p>
<ul>
<li>Database is.active switch in the configuration file</li>
<li>minor bugfix in the Postgress Database Adapter</li>
<li>added .gitignore file</li>
</ul>
<h1>TODO</h1> <h1>TODO</h1>
<p>Still in progress for the next version</p> <p>Still in progress for the next version</p>
<ul> <ul>

View File

@@ -13,9 +13,16 @@ class Model extends Table
public function __construct($argv) public function __construct($argv)
{ {
parent::__construct($argv); if(Config::getInstance()->getConfig()[IMysql::SETTINGS_DATABASE][IMysql::PLACE_IS_ACTIVE])
$this->createOutFolder(); {
$this->createClassFiles(); parent::__construct($argv);
$this->createOutFolder();
$this->createClassFiles();
}
else
{
return false;
}
} }
private function createOutFolder() private function createOutFolder()

View File

@@ -34,14 +34,17 @@ class Mysql implements IMysql
{ {
$settings = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE]; $settings = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE];
} }
$this->_setUsername($settings[self::PLACE_USERNAME]); if($settings[self::PLACE_IS_ACTIVE])
$this->_setPassword($settings[self::PLACE_PASSWORD]); {
$this->_setDbname($settings[self::PLACE_DATABASE]); $this->_setUsername($settings[self::PLACE_USERNAME]);
$this->_setDiver($settings[self::PLACE_DRIVER]); $this->_setPassword($settings[self::PLACE_PASSWORD]);
$this->_setHostname($settings[self::PLACE_HOSTNAME]); $this->_setDbname($settings[self::PLACE_DATABASE]);
$this->_setPort($settings[self::PLACE_PORT]); $this->_setDiver($settings[self::PLACE_DRIVER]);
$this->_setDsn(); $this->_setHostname($settings[self::PLACE_HOSTNAME]);
$this->_setConn(); $this->_setPort($settings[self::PLACE_PORT]);
$this->_setDsn();
$this->_setConn();
}
} }
public static function getInstance( $section = false ) public static function getInstance( $section = false )

View File

@@ -27,15 +27,23 @@ class Odbc extends Mysql implements IOdbc
{ {
$settings = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE]; $settings = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE];
} }
$this->_setUsername($settings[self::PLACE_USERNAME]); if($settings[self::PLACE_IS_ACTIVE])
$this->_setPassword($settings[self::PLACE_PASSWORD]); {
$this->_setDbname($settings[self::PLACE_DATABASE]); $this->_setUsername($settings[self::PLACE_USERNAME]);
$this->_setDiver($settings[self::PLACE_DRIVER]); $this->_setPassword($settings[self::PLACE_PASSWORD]);
$this->_setHostname($settings[self::PLACE_HOSTNAME]); $this->_setDbname($settings[self::PLACE_DATABASE]);
$this->_setPort($settings[self::PLACE_PORT]); $this->_setDiver($settings[self::PLACE_DRIVER]);
$this->_setReadOnly($settings[self::PLACE_READONLY]); $this->_setHostname($settings[self::PLACE_HOSTNAME]);
$this->_setDsn(); $this->_setPort($settings[self::PLACE_PORT]);
$this->_setConn(); $this->_setReadOnly($settings[self::PLACE_READONLY]);
$this->_setDsn();
$this->_setConn();
}
else
{
return false;
}
} }
public static function getInstance( $section = false ) public static function getInstance( $section = false )

View File

@@ -23,19 +23,26 @@ class Psql extends Mysql implements IPsql
} }
else else
{ {
$section = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE]; $settings = Config::getInstance()->getConfig()[self::SETTINGS_DATABASE];
}
if($settings[self::PLACE_IS_ACTIVE])
{
$this->_setUsername($settings[self::PLACE_USERNAME]);
$this->_setPassword($settings[self::PLACE_PASSWORD]);
$this->_setDbname($settings[self::PLACE_DATABASE]);
$this->_setDiver($settings[self::PLACE_DRIVER]);
$this->_setHostname($settings[self::PLACE_HOSTNAME]);
$this->_setPort($settings[self::PLACE_PORT]);
$this->_setReadOnly($settings[self::PLACE_READONLY]);
$this->_setEncoding($settings[self::PLACE_ENCODING]);
$this->_setMultithreading($settings[self::PLACE_MULTI_THREADING]);
$this->_setDsn();
$this->_setConn();
}
else
{
return false;
} }
$this->_setUsername($settings[self::PLACE_USERNAME]);
$this->_setPassword($settings[self::PLACE_PASSWORD]);
$this->_setDbname($settings[self::PLACE_DATABASE]);
$this->_setDiver($settings[self::PLACE_DRIVER]);
$this->_setHostname($settings[self::PLACE_HOSTNAME]);
$this->_setPort($settings[self::PLACE_PORT]);
$this->_setReadOnly($settings[self::PLACE_READONLY]);
$this->_setEncoding($settings[self::PLACE_ENCODING]);
$this->_setMultithreading($settings[self::PLACE_MULTI_THREADING]);
$this->_setDsn();
$this->_setConn();
} }
public static function getInstance( $section = false ) public static function getInstance( $section = false )

View File

@@ -18,6 +18,7 @@ interface IMysql
const PLACE_QUERY_LIMIT = "NO LIMIT"; const PLACE_QUERY_LIMIT = "NO LIMIT";
const PLACE_SORT_ORDER = "NO ORDER"; const PLACE_SORT_ORDER = "NO ORDER";
const PLACE_DSN = "NO CONNECTION STRING"; const PLACE_DSN = "NO CONNECTION STRING";
const PLACE_IS_ACTIVE = "is.active";
const PLACE_USERNAME = "username"; const PLACE_USERNAME = "username";
const PLACE_PASSWORD = "password"; const PLACE_PASSWORD = "password";
const PLACE_HOSTNAME = "hostname"; const PLACE_HOSTNAME = "hostname";