Documentation

Nibiru

Rapid Prototyping PHP Framework

Version 0.9.4.2 beta

Introduction

Nibiru is a rapid prototyping framework written in PHP and based on the MVC design pattern. Now one may say that writing
another framework is not cool because there are so many, such as Symphony, ZendFramework ( where as I have prefered the
first version of that framework ), Laravel, etc.. But let's be honest they are complete overkill for smaller projects and
are not fit to quick start your "own" development.
That is why I have started my own little framework and am happy to provide the first version of Nibiru, in the version 0.1,
there is still a lot of work to be done in refactoring the core features for the View, Controller and the main Template
Engine Implementation.

Currently supported features


  • Controller, Model, View ( already tested )
  • Smarty template engine ( already tested )
  • Dwoo template engine ( untested )
  • Twig template engine ( untested )
  • PDO adapter to the MySQL database
  • PDO adapter to the Postgress database
  • ODBC adapter to the Postgress database
  • Autogenerator for models corresponding to the database tables
  1. read datasets from a complete table
  2. read datasets by selection from a table
  3. write datasets by array into a table
  • Bootstrap template of a dashboard
  • Example page, on how to setup a View and Controller
  • Example page, on how to setup a navigation with a json file
  • Debugbar access through the configuration, sould be set to true in order to use it
  • In progress for the next version

    • framework documentation
    • class documentation
    • soap interface to a given SOAP server (canceled, not needed to old)
    • bitcoin api, and payment gateway
    • Dwoo tempalte engine tests
    • Twig tempalte engine tests
    • Database access functionallity for the db.php Factory

    Version 0.2 beta 19.07.2017

    • Dispatcher update now supports actions within Controllers
    • Main Framework call moved to the framework file
    • Added support for ODBC in a basic Postgress class
    • Updated the router and added a static printstufftoscreen call

    Still in progress for the next version

    • framework documentation
    • class documentation
    • soap interface to a given SOAP server (canceled, not needed to old)
    • bitcoin api, and payment gateway
    • Dwoo tempalte engine tests
    • Twig tempalte engine tests

    Version 0.3 beta 04.02.2018

    • Improved: The Router now accepts actions, either trough the _action as parameter, or on the URL pattern after the controller name Example: http://youdomain/[controllername]/[actionname]/
    • It is now possible to load as many navigations on the page as wanted by passing the name to the
      JsonNavigation::getInstance()->loadJsonNavigationArray('[NAME]');
      call in the navigationAction of the Controller
    • Building forms by simple adding the namespace
      use Nibiru\Factory\Form;
      and calling Example:
      Form::addInputTypeText( array( 'name' => 'lastname', 'value' => 'placeholder' ) );
      To finalize the form the last call should be something like this:
      Form::addForm( array('name' => 'testform', 'method' => 'post', 'action' => '/' . Router::getInstance()->currentPage(), 'target' => '_self') );
    • The Database design has fully been refactored, now it contains an autoloading mechanism which can be triggert by createing a database folder in the application folder, a Example file is in the folder applicatoin/database
    • The Database access can now be implemented anywhere in your application by adding the namespace to your database accessing Logic:
      use Nibiru\Factory\Db;

    Version 0.3.5 beta 14.03.2018

    • Bugfix on the Router, now the currentPage will be returned correctly.
    • Update for the database adapter, a detailed instruction on how to use it will be within the soon comming documentation
    • Improvement of the form elements, those now are able to also swap div layers around a field, as well as correct labeling
    • Added missing form elements, migration to a Form factory, in order to easy configure and install a form anywhere you like
    • Minor bugfixing

    Version 0.4.0 beta 28.08.2018

    • Minor update concerning the autoloading class in the core, now it is also possible to give a loading order through the configuration
    • Minor update concerning the form factory classes in the core, now some javascript events are implemented as well, another update concerning functinoallity will follow soon.
    • Update on the example configuration file, implementing the autoloading order of interfaces, moduels and traits.
    • Update for multidatabase support, see the documentation on http://www.nibiru-framework.com

    Bugfixing

    Version 0.6.1 beta 04.01.2019

    • Bugfix for the pagination in the core files, used not to work on more then three pages, is now fixed.

    Previous version

    Version 0.6.0 beta 05.12.2018

    • Added a Pagination to the core it now can be used like in the template file Example, the class just needs to be extended by the module that should have a pageination (e.g. a Blog Module)
    • Some extensions for the Routing option, in order to parmeterize the url.
    • Name fixing.
    • Added an additional attribute for the navigation, so the navigation position can be set to footer.
    • A soap extension will not be part of the system anymore, since that is just a bad habit, so this will be replaced with a REST api.

    Version 0.7.0 beta 27.01.2018

    • Class generator for the database models can now be used, and are configured in the settings file
    • A bug in the debug core class has been corrected
    • Implemented the pgsql driver from PHP
    • Added a configuration parameter for useing either the ODBC, or the PGSQL-PHP database driver
    • It is possible to now generate the database models even if they already exisit, by configuring overwrite in the configuration
    • Added multithreading for postgres
    • Added charset configuration for the database settings
    • Added a class mask file in the settings folder in order to have the chance to pre-configure the autmatic generated database model files.

    Version 0.7.0 beta

    • Add autoated class generator for MySQL database models

    Version 0.9.3 beta 09.11.2019

    • Autoloader is now supporting a better module structure
    • Some minor bugfixes
    • Updated the annotations for better autocompletion
    • removed the Twig and Dwoo engines, they are not needed anymore

    Update

    Version 0.9.4.3

    • Database is.active switch in the configuration file
    • minor bugfix in the Postgress Database Adapter
    • added .gitignore file
    • added section to the settings.development.ini

    TODO

    Still in progress for the next version

    • framework documentation
    • class documentation
    • soap interface to a given SOAP server (canceled, not needed to old)
    • bitcoin api, and payment gateway
    The start is done, have success with PHP prototyping, and always remember to have fun!
    Author: Stephan Kasdorf