PHP-de MVC ulanylyşy
Geliň, öwrenilenleriň hemmesiniň bilelikde ulanylyşyna göz aýlalyň. Meselem, sahypamyzda käbir makalalar-sahypalar bar bolsun. Biz bir makalany görkezmek ýa-da ähli makalalary görkezmek isleýäris. Geliň, muny framework-ymyzda nähili amala aşyryp boljakdygyna ser edeliň.
DB-de tablisa
Başlangyçda, maglumatlar bazasynda pages tablisasyny döredeliň. Ona id, title we text sütünlerini goşalyň. Bu tablisany PhpMyAdmin arkaly käbir maglumatlar bilen dolduralyň.
Model
Bir ýazgyny almak üçin we ähli ýazgylary almak üçin usuly bolan modeli düzeliň:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
public function getById($id)
{
return $this->findOne("SELECT * FROM pages WHERE id=$id");
}
public function getAll()
{
return $this->findMany("SELECT id, title FROM pages");
}
}
?>
Routingleme
Degişli route'leme düzeliň:
<?php
use \Core\Route;
return [
new Route('/page/:id', 'page', 'one'),
new Route('/pages/', 'page', 'all'),
];
?>
Kontrolýer
Kontrolýeri düzeliň:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page;
class PageController extends Controller
{
public function one($params)
{
$page = (new Page) -> getById($params['id']);
$this->title = $page['title'];
return $this->render('page/one', [
'text' => $page['text'],
'h1' => $this->title
]);
}
public function all()
{
$this->title = 'Ähli sahypalaryň sanawy';
$pages = (new Page) -> getAll();
return $this->render('page/all', [
'pages' => $pages,
'h1' => $this->title
]);
}
}
?>
Görkezme
one usuly üçin görkezme düzeliň:
<h1><?= $h1; ?></h1>
<div id="content">
<?= $text; ?>
</div>
all usuly üçin görkezme düzeliň:
<h1><?= $h1; ?></h1>
<div id="content">
<table>
<tr>
<th>id</th>
<th>title</th>
<th>çykgyt</th>
</tr>
<?php foreach ($pages as $page): ?>
<tr>
<td><?= $page['id']; ?></td>
<td><?= $page['title']; ?></td>
<td><a href="/page/<?= $page['id']; ?>/">sahypa çykgydy</td>
</tr>
<?php endforeach; ?>
</table>
</div>
Amaly wezipeler
Maglumatlar bazasyňyzda önümler bar bolsun. Her bir önümiň ady, bahasy, mukdary, düşündirişi bardyr. Teoriýada edilen ýaly, id boýunça bir önümi we ähli önümleri görkezmegi amala aşyryň.