Somo hili litakwenda kukutajia baadhi ya library za php ambazo hutumika kwa matumizi ya ORM
Kuna library kadhaa za PHP ambazo unaweza kutumia kwa ORM (Object-Relational Mapping) bila kuhitaji kutumia framework kama Laravel au Symfony. Hapa kuna baadhi ya bora zaidi:
composer require illuminate/database
use Illuminate\Database\Capsule\Manager as Capsule;
require 'vendor/autoload.php';
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'test_db',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
class User extends Illuminate\Database\Eloquent\Model {}
$users = User::all();
foreach ($users as $user) {
echo $user->name;
}
composer require doctrine/orm
composer require gabordemooij/redbean
require 'vendor/autoload.php';
use RedBeanPHP\R;
R::setup('mysql:host=127.0.0.1;dbname=test_db', 'root', '');
$book = R::dispense('books');
$book->title = "PHP ORM";
R::store($book);
$books = R::findAll('books');
foreach ($books as $book) {
echo $book->title;
}
composer require catfan/medoo
require 'vendor/autoload.php';
use Medoo\Medoo;
$database = new Medoo([
'database_type' => 'mysql',
'database_name' => 'test_db',
'server' => '127.0.0.1',
'username' => 'root',
'password' => ''
]);
$database->insert("users", [
"name" => "John Doe",
"email" => "john@example.com"
]);
$users = $database->select("users", ["name", "email"]);
print_r($users);
composer require j4mie/idiorm j4mie/paris
require 'vendor/autoload.php';
ORM::configure('mysql:host=127.0.0.1;dbname=test_db');
ORM::configure('username', 'root');
ORM::configure('password', '');
class User extends Model {}
$user = Model::factory('User')->create();
$user->name = "Jane Doe";
$user->save();
$users = Model::factory('User')->find_many();
foreach ($users as $user) {
echo $user->name;
}
Library | Faida | Hasara |
---|---|---|
Eloquent (Standalone) | Ina nguvu na ni rahisi kama unajua Laravel | Inaleta dependencies nyingi |
Doctrine ORM | Ina nguvu sana na inafuata OOP kwa kina | Inahitaji kujifunza configuration |
RedBeanPHP | Haihitaji configuration, ni rahisi sana | Inaweza kuwa nzito kwenye projects kubwa |
Medoo | Nyepesi, rahisi kutumia | Haina feature nyingi za ORM halisi |
Paris + Idiorm | Rahisi kwa matumizi ya SQL-style ORM | Ina community ndogo |
Ikiwa unataka ORM rahisi bila kuingia kwenye configuration nyingi, RedBeanPHP au Medoo ni chaguo zuri.
Ikiwa unataka ORM yenye nguvu zaidi, Eloquent au Doctrine ni bora.
RedBeanPHP ni chaguo bora kwa miradi midogo na ya kati kwa sababu ni rahisi kutumia, haina configuration nyingi, na inaweza kujenga database yenyewe bila migrations.
Kwa mujibu wa mafunzo haya tutatumia library ya ReadBeanPHP ili kuonyesha uhalisia wa jinsi ORM zinavyoweza kufanya kazi katika uhalisia wake.
Kama unatumia Composer, ingiza amri hii kwenye terminal yako:
composer require gabordemooij/redbean
Hata hivyo njia ya composer haipendekezwi kutumiwa. Wenyewe waliotengeneza library hiyo wanapendekeza u download faili moja kw amoja kwenye website yao. Tembelea link hii unaweza kupakua rb.php
kutoka 👉 RedBeanPHP Official
Katika faili lako la PHP, ongeza RedBean">...
Umeionaje Makala hii.. ?
Katika somo hii utakwenda kujifunza jinsi ya kufanya CRUDE operation kwa kutumia PDO. crude operation inahusu create, read, update. Delete.
Soma Zaidi...Faili la env ni moja kati ya mafaili ambayo ni muhimu kwa usalama wa project. Fili hili hutumika kuhifadhi data za siri
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Maana ya JSON na sheria za kuandika faili la json
Soma Zaidi...katika somo hili utajfunza kukusanya taarifa za mafaili. kisha ku upload hayo mafaili. kisha kuandika hizo taarifa za mafaii kwenye database
Soma Zaidi...Katika somo hili utakwenda kuona namna ya kutuia if else kwenye data zilizopo kwenye database kwa kutumia PHP
Soma Zaidi...Katika somo hili utajifunza jinsi ya kutumia filter_var() function kwa ajili ya kuchuja code zilizo hatari kwenye PHP file
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Cookie Headers
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu static method na inavtotumika kwenye OOP
Soma Zaidi...Katika somo hili utajifnza jinsi ya ku upload file kwenye database. Kisha utajifunza jinsi ya kulisoma faili hilo kwa kutumia php
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutengeneza class na object. Tunakwenda kutumia mfano wetu wa hapo juu kwa ajili ya kukamilisha somo hili.
Soma Zaidi...