PHP Classes

File: LQueryBU/MANUAL.txt

Recommend this page to a friend!
  Classes of Xavier Pérez  >  LQueryBU  >  LQueryBU/MANUAL.txt  >  Download  
File: LQueryBU/MANUAL.txt
Role: Documentation
Content type: text/plain
Description: Manual
Class: LQueryBU
SQL and PHP business units
Author: By
Last change: No login
Date: 12 years ago
Size: 4,620 bytes


Class file image Download
MANUAL 1) Introduction 2) Configuration 3) Options 4) Examples ============================================================= 1) Introduction ============================================================= LQueryBu means Light Query Business Unit, created to speed development and to mantain business logic separated from controlers. The MVC concept are translated to BMVC, Business, Model, View and Controlers I don't like the ADODB schema and other SETTERS and GETTERS, I think that all must to be more simple. LQueryBU makes a fusion between a query and it's actions. Traditional models have it's own TABLEMODEL, all functions related to the actions with this table. LQueryBU simplify it, having a file for each action, avoiding large TABLEMODEL files. Also, increase speed, only need a small file, instead of loading a large library. LQueryBU uses PDO as a generic wrapper, but can be configured to use any other wrapper. ============================================================= 2) Configuration ============================================================= STANDALONE EXAMPLES: To install the standalone examples, you must to: Edit your apache conf. Crete and point your virtual host (DocumentRoot) to the uncompressed "www" directory (example: lquerybu.local) Add or check phtml type: Addtype application/x-httpd-php .phtml Add or check php type: Addtype application/x-httpd-php .php Edit your php.ini conf. Add or check PDO: For PHP 5.2: extension=php_pdo.d extension=php_pdo_mysql.dll For PHP 5.3: extension=php_pdo_mysql.dll Load the example database into your database: Load /LQUeryBU/examples_db/wolrd_db/world.sql into your database Edit /LQueryBU/database.php and change DB connection data Now, you can open your browser and type the virtual host name (above): http://lquerybu.local ============================================================= 3) Options ============================================================= LQueryBU can execute any sql commands, SELECT, INSERT, UPDATE, DELETE, REPLACE, etc... including procedures. You can do with transaction or without it. Also, you can concatenate commands, Example: Multiple updates, if some of them fails, rollback, else commit. Also, you can insert functions. Functions that can be called from any other unit or any place in a model. For example, you need your own URFRIENDLY FUNTION CONVERTER when insert/update a product record, then you must to create the fMakeUrl.php unit, and you can call it from the same unit that are updating/inserting records. IMPORTANT: All unit files must to be coded in UTF-8 ===DEBUGGING=== LQueryBU can save all information for debugging, you only have to enable it in the main config.php (LQUERYBU_SHOW_SQL_COMMANDS). When instantiate the LQueryBU class, you must to set the "debugQuery" atttribute to TRUE. See : $LQueryBU = new LQueryBU(); $LQueryBU->setProperties(array("debugQuery"=>TRUE)); $result = $LQueryBU->getDataQuery("/example1",array("LIMIT_FROM" => 0,"LIMIT_TO"=>10,"ORDER_BY" => 1,"ASCDESC"=>"ASC")); After enabling the debugger, you can retrive all formatted information with the dumpDebugQuery function: $debugInformation = $LQueryBU->dumpDebugQuery(); You also can get only queries executed for profiler purpouses: $queryInformation = $LQueryBU->dumpQueries(); The "dumpQueries" function return an array of all queries executed, with it's elapsed time: $dumpQuery = array ( $numQuery => array ($queryCommand,$elapsedTime)); ===USING ANOTHER WRAPPER=== You can use other wrapper, only need to modify LQueryBU_DBI, change extends from your wrapper, and implements the general functions with your own. Functions used: public function DBprepare($sql); public function DBexecute(); public function DBfetchAll(); public function DBrowCount(); public function DBlastInsertId(); public function DBcolumnCount(); public function DBgetColumnMeta($column); public function DBbeginTransaction(); public function DBcommit(); public function DBqueryOne($sql); public function DBrollBack(); ============================================================= 4) Examples ============================================================= The Standalone comes with four examples, three of them showing a tablegrid and it's possibilities and the fourth, a recordgrid example, calling a UPDATE unit. The examples comes with NavVars.php class, as makes more readable the base code.