С две думи: 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();
}
Един пример:
Код за потвърждение: Избери целия код
$db->table('test')->where('age', 21)->orWhere('age', '>', 25)->getAll();
/**
* Излиза като изходен код в SQL:
* SELECT * FROM test WHERE age = '20' OR age > '25'
*/
Това е като цяло, ако има въпроси, неработещи неща, грешки, или в github или тук.