Informática Asociada ia doc & examples: templates Documentation Index Examples List


/iaLib/ia_examples/ia/Sql/Mysql/SqlBuilder_example.php


<?php $ia_example = [ 'title' => 'ia\Sql\Mysql\SqlBuilder', // fully qualified className 'summary' => '', // class summary 'full_example' => '', // full usage example, relative path from ia_examples, blank '' not shown. 'example_file' => 'code/ia/Sql/Mysql/SqlBuilder_example_code.php', // method by method example, blank '' not shown. ]; include( __DIR__ . '/../../../template/ia_example_class.php');

/iaLib/ia_examples/code/ia/Sql/Mysql/SqlBuilder_example_code.php


use ia\Sql\Mysql\SqlBuilder; use ia\DocumentIt\DocumentIt; echo '<h3>Disclaimer: Auto generated file. Please help us setting parameters to useful values and extending the examples. </h3>'; try { echo <<< CONSTRUCTOR_PROTOTYPE <pre> /* \$sqlBuilder = new SqlBuilder(); */ \$sqlBuilder = new SqlBuilder(); </pre> CONSTRUCTOR_PROTOTYPE; $sqlBuilder = new SqlBuilder(); echo '<ul class="usage">'; ///////// \$sqlBuilder->quote('palabra', null /* =mixed= */); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_quote'><b>\$sqlBuilder->quote(<span class="type">string</span> \$fieldName, <span class="type">mixed</span> \$value, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "quote")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->quote('palabra', null /* =mixed= */); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->quote('palabra', null /* =mixed= */); echo '</ol>'; ///////// \$sqlBuilder->where(['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_where'><b>\$sqlBuilder->where(<span class="type">array|string</span> \$where, <span class="type">array</span> \$whereDontQuoteFieldName <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "where")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->where(['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->where(['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->build_sql_in('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_build_sql_in'><b>\$sqlBuilder->build_sql_in(<span class="type">string</span> \$fieldName, <span class="type">array|string</span> \$whereValues, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "build_sql_in")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->build_sql_in('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->build_sql_in('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->update('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_update'><b>\$sqlBuilder->update(<span class="type">string</span> \$table, <span class="type">array</span> \$values, <span class="type">string|array</span> \$where <span class="default">= []</span>, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>, <span class="type">array</span> \$whereDontQuoteFieldName <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "update")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->update('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->update('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->updateLastChanged('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_updateLastChanged'><b>\$sqlBuilder->updateLastChanged(<span class="type">string</span> \$table, <span class="type">array</span> \$values, <span class="type">array</span> \$where <span class="default">= []</span>, <span class="type">array</span> \$fieldsChanged <span class="default">= []</span>, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>, <span class="type">array</span> \$whereDontQuoteFieldName <span class="default">= []</span>) <span>: array</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "updateLastChanged")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->updateLastChanged('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; </b><br><pre> DOCUMENT_EXAMPLE; /// run /// print_r( $sqlBuilder->updateLastChanged('palabra', ['a' => '1', 'b' => '2', 'c' => 3]) ); echo "</pre>"; echo '</ol>'; ///////// \$sqlBuilder->insert('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_insert'><b>\$sqlBuilder->insert(<span class="type">string</span> \$table, <span class="type">array</span> \$values, <span class="type">bool</span> \$autoOnUpdate <span class="default">= false</span>, <span class="type">bool \$autoOnUpdate true: an on duplicate key update clause will be added with</span> \$onUpdate <span class="default">= ''</span>, <span class="type">array</span> \$fieldNameDontOnUpdate <span class="default">= []</span>, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "insert")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->insert('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->insert('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->insertInto('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_insertInto'><b>\$sqlBuilder->insertInto(<span class="type">string \$table</span> \$table, <span class="type">array</span> \$values) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "insertInto")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->insertInto('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->insertInto('palabra', ['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->insertValues(['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_insertValues'><b>\$sqlBuilder->insertValues(<span class="type">array</span> \$values, <span class="type">array</span> \$fieldNameDontQuote <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "insertValues")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->insertValues(['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->insertValues(['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; ///////// \$sqlBuilder->insertOnDuplicateKey(['a' => '1', 'b' => '2', 'c' => 3]); ////////////////////////////////////////////////// echo <<< FUNCTIONDEF <li id='u_insertOnDuplicateKey'><b>\$sqlBuilder->insertOnDuplicateKey(<span class="type">array</span> \$values, <span class="type">bool</span> \$updateAllFields <span class="default">= true</span>, <span class="type">string</span> \$onUpdate <span class="default">= ''</span>, <span class="type">array</span> \$fieldNameDontOnUpdate <span class="default">= []</span>) <span>: string</span></b> FUNCTIONDEF; echo "<pre class='docBlock'>".DocumentIt::methodDocBlockProtected("ia\Sql\Mysql\SqlBuilder", "insertOnDuplicateKey")."</pre>"; echo "<ol class='usage'>"; /// display /// echo <<< DOCUMENT_EXAMPLE <li>\$sqlBuilder->insertOnDuplicateKey(['a' => '1', 'b' => '2', 'c' => 3]); -&gt;&nbsp; DOCUMENT_EXAMPLE; /// run /// echo $sqlBuilder->insertOnDuplicateKey(['a' => '1', 'b' => '2', 'c' => 3]); echo '</ol>'; /* PerfilExample adds new methods here */ echo '</ul>'; } catch(Exception $exception) { echo "<pre class='errorBlock'>$exception</pre>"; }

phpunit test file template


<?php use ia\Sql\Mysql\SqlBuilder; use PHPUnit\Framework\TestCase; class SqlBuilderTest extends TestCase { /** * @dataProvider quote_Provider * */ public function test_quote($fieldName, $value, $fieldNameDontQuote , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->quote($fieldName, $value, $fieldNameDontQuote) ); } function quote_Provider() { return [ 'test 1' => [ '', '', '', '' ], ]; } /** * @dataProvider where_Provider * */ public function test_where($where, $whereDontQuoteFieldName , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->where($where, $whereDontQuoteFieldName) ); } function where_Provider() { return [ 'test 1' => [ '', '', '' ], ]; } /** * @dataProvider build_sql_in_Provider * */ public function test_build_sql_in($fieldName, $whereValues, $fieldNameDontQuote , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->build_sql_in($fieldName, $whereValues, $fieldNameDontQuote) ); } function build_sql_in_Provider() { return [ 'test 1' => [ '', '', '', '' ], ]; } /** * @dataProvider update_Provider * */ public function test_update($table, $values, $where, $fieldNameDontQuote, $whereDontQuoteFieldName , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->update($table, $values, $where, $fieldNameDontQuote, $whereDontQuoteFieldName) ); } function update_Provider() { return [ 'test 1' => [ '', '', '', '', '', '' ], ]; } /** * @dataProvider updateLastChanged_Provider * */ public function test_updateLastChanged($table, $values, $where, $fieldsChanged, $fieldNameDontQuote, $whereDontQuoteFieldName , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->updateLastChanged($table, $values, $where, $fieldsChanged, $fieldNameDontQuote, $whereDontQuoteFieldName) ); } function updateLastChanged_Provider() { return [ 'test 1' => [ '', '', '', '', '', '', '' ], ]; } /** * @dataProvider insert_Provider * */ public function test_insert($table, $values, $autoOnUpdate, $onUpdate, $fieldNameDontOnUpdate, $fieldNameDontQuote , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->insert($table, $values, $autoOnUpdate, $onUpdate, $fieldNameDontOnUpdate, $fieldNameDontQuote) ); } function insert_Provider() { return [ 'test 1' => [ '', '', '', '', '', '', '' ], ]; } /** * @dataProvider insertInto_Provider * */ public function test_insertInto($table, $values , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->insertInto($table, $values) ); } function insertInto_Provider() { return [ 'test 1' => [ '', '', '' ], ]; } /** * @dataProvider insertValues_Provider * */ public function test_insertValues($values, $fieldNameDontQuote , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->insertValues($values, $fieldNameDontQuote) ); } function insertValues_Provider() { return [ 'test 1' => [ '', '', '' ], ]; } /** * @dataProvider insertOnDuplicateKey_Provider * */ public function test_insertOnDuplicateKey($values, $updateAllFields, $onUpdate, $fieldNameDontOnUpdate , $expected) { $sqlBuilder = new SqlBuilder(); $this->assertEquals($expected, $sqlBuilder->insertOnDuplicateKey($values, $updateAllFields, $onUpdate, $fieldNameDontOnUpdate) ); } function insertOnDuplicateKey_Provider() { return [ 'test 1' => [ '', '', '', '', '' ], ]; } }

ia Doc