Katika somo hili utakwenda kujifunza Jinsi ya kutumia ORM kwa kutumia library ya RedBeanPHP
Hapa sasa ndipo tunakwenda kuitumia database yetu ili kuweza kutengeneza shopmanagement app. Tutatumia table zile zile tulizozitumia awali. Tutafanya kile kile tulichokifanya. Hapa utaona urahisi zaidi wa kutumia ORM.
Hii ni setup nzuri kwa mfumo wa "Shop Management" kwa kutumia RedBeanPHP. ✅ Nitakuandikia kila ukurasa (products.php, customers.php, transactions.php) hatua kwa hatua na kuhakikisha kuwa unaweza:
shopHakikisha umeunda database shop, kisha RedBeanPHP itajenga tables moja kwa moja.
CREATE DATABASE shop;
Kisha hakikisha umeinstall RedBeanPHP kama nilivyoeleza awali.
db.php - Kusanidi RedBeanPHPFaili hili litatumika katika kila ukurasa kuunganisha database. Kutumia composer kunaweza kuleta shida ikawa baadhi ya mafaili hayapatikani hivyo ukiwa na tatizo hilo vyema kutembelea kwenye website yao kisha download faili husika la driver, kisha include kwenye faili la database configuration. rejea somo lililotangualia.
<?php
require 'vendor/autoload.php';
R::setup('mysql:host=127.0.0.1;dbname=shop', 'root', '');
if (!R::testConnection()) {
die('Database haijaunganishwa!');
}
?>
products.php - Kusimamia Bidhaa (Products)<?php
require 'db.php';
// Ongeza Product
if (isset($_POST['add'])) {
$product = R::dispense('products');
$product->name = $_POST['name'];
$product->price = $_POST['price'];
R::store($product);
header("Location: products.php");
}
// Futa Product
if (isset($_GET['delete'])) {
$product = R::load('products', $_GET['delete']);
R::trash($product);
header("Location: products.php");
}
// Hariri Product
if (isset($_POST['edit'])) {
$product = R::load('products', $_POST['id']);
$product->name = $_POST['name'];
$product->price = $_POST['price'];
R::store($product);
header("Location: products.php");
}
// Pata Products zote
$products = R::findAll('products');
?>
<h2>Manage Products</h2>
<form method="post">
<input type="text" name="name" placeholder="Product Name" required>
<input type="number" name="price" placeholder="Price" required>
<button type="submit" name="add">Add Product</button>
</form>
<table border="1">
<tr><th>Name</th><th>Price</th><th>Action</th></tr>
<?php foreach ($products as $product): ?>
<tr>
<td><?= $product->name; ?></td>
<td><?= $product->price; ?></td>
<td>
<a href="?delete=<?= $product->id; ?>">Delete</a>
<form method="post" style="display:inline;">
<input type="hidden" name="id" value="<?= $product->id; ?>">
<input type="text" name="name" value="<?= $product->name; ?>">
<input type="number" name="price" value="<?= $product->price; ?>">
<button type="submit" name="edit">Edit</button>
</form>
</td>
</tr>
<?php endforeach; ?>
</table>
customers.php - Kusimamia Wateja (Customers)<">...Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Share On:
Katika somo hili utakwenda kujifunza concept ya traits kwenye OOP. hii itakusaidia ku solve baadhi ya changamoto zinazotokana na inheritance
Soma Zaidi...Katika somo hili utakwenda kujifunzo kuhusu teknolojia ya ORM na inavyotumika kulinda usalama wa database
Soma Zaidi...Katika somo hili utakwend akujifunza jinsi ya kubadili json data na kuwaphp array ama php object. Kwa ufupi tunakwend aku decode json data kuwa phparray amaobject
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kuandika function za PHP kama require() na iclude()
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 kujifunza concept ya interface na concept ya polymorphism kwenye PHP OOP.
Soma Zaidi...Katika somo hili utakwenda kujifunza jisni ya kudhibiti error ambazo zinaweza kutokea wakati wa ku encode na ku decoe json data
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kuandika query ndani ya ORM. Hii inakupa uhuru wa kufanya kileunachotaka bila ya kuathiri usalama wa project
Soma Zaidi...Katika somo hili utakwenda Jinsi ya kutengeneza ORM inayofanya CDRUDE operation.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu content-type header.
Soma Zaidi...