Query Builder Class

PHP, MySQL, Javascript, XHTML и др.
Отговори
Потребителски аватар

Автор на темата
Autumn Shade EA\DICE
Developer
Developer
Мнения: 139
Регистриран: 14 мар 2019, 13:20
Се отблагодари: 21 пъти
Получена благодарност: 55 пъти

Query Builder Class

Мнение от Autumn Shade EA\DICE » 15 апр 2019, 14:43

Какво представлява?
С две думи: Laravel Eloquent(https://laravel.com/docs/5.8/queries), с малко по-малко функционалности. Горе-долу са докарани, но все пак, едното е цял engine, а това което предоставям аз е class със cache.

Как мога да се сдобия с него?
https://packagist.org/packages/stfkolev/iowis
https://github.com/stfkolev/Iowis

Ъ, добре, имам го, но как се ползва, кво се прави, яде ли се, аз ще мога ли?
Да, яде се, пише се на хартия кода, всеки според възможностите си, те така:

Код: Избери всички

/*! Примерен код */

/*! Ако използваме composer, за тея дето знаят какво е: */
require 'vendor/autoload.php';

/*! Ако ли не сме много напред с технологията или сме малко захлюпени: */
require_once 'src/Builder.php';

/*! Правим си конфигурацията за връзка с базата данни */
$config = [
    'host'      => 'localhost',
    'driver'    => 'mysql',
    'database'  => 'test',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_general_ci',
    'prefix'     => ''
];

/*! Правим променлива, която да вика констрктора, с параметър config-а. */
$db = new \Iowis\Builder($config);

/** 
   * И до тук сме супер. От тука насам започва интересното и лесното:
   * Да кажем, че имаме една заявка: "INSERT INTO users (name, age, country) VALUES ('Autumn Shade', 21, 'Bulgaria')".
   * Да, това изглежда странно, макар за някои да е лесно, други не помнят синтаксиса. 
   *
   * Ето как би била изглеждала заявката, ако ползвате Iowis:
   */
$query = $db->table('users')->insert(
	[
		'name' => 'Autumn Shade',
		'age' => 21,
		'country' => 'Bulgaria'
	]);
	
/*! Проверяваме дали е успешна заявката */
if($query) {
	echo 'Record added! - Insert ID: ' . $db->insertId();
}
Това беше един пример за въвеждане на в базата данни. Има много функции, повечето, които са направени за улеснение на select заявките. Има chain methods, методи, които могат да се натрупват.

Един пример:

Код: Избери всички

$db->table('test')->where('age', 21)->orWhere('age', '>', 25)->getAll();
/** 
   * Излиза като изходен код в SQL: 
   * SELECT * FROM test WHERE age = '20' OR age > '25'
   */
Има функции за всяка операция в SQL, могат да се въвеждат по този начин. Няма само за create table, но и за нея ще се направи в бъдеще. Там е малко по-особено.

Това е като цяло, ако има въпроси, неработещи неща, грешки, или в github или тук.

Отговори

Върни се в “Уеб Програмиране”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост