⊗ppMVUFmAE 19 of 35 menu

PHP'де MVC колдонуу

Келгиле, үйрөнгөн бардык нерселерди биргелешип колдонууну карайлы. Мисалы, биздин сайтта кандайдыр бир макалалар-барактар бар деп коёлу. Биз же бир макаланы көрсөтүүнү каалайбыз, же бардык макалаларды көрсөтүүнү каалайбыз. Келгиле, муну биздин фреймворктубузда кантип жасаса болорун карайлы.

БД'дагы таблица

Баштоо үчүн база данныхында pages таблицасын түзөлү. Ага id, title жана text колонкаларын кошолу. Бул таблицаны кандайдыр бир маалыматтар менен PhpMyAdmin аркылуу толтуралы.

Модель

Бир жазууну алуу үчүн ыкмасы бар жана бардык жазууларды алуу үчүн ыкмасы бар модельди жасайлы:

<?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"); } } ?>

Роутинг

Туура роутингти жасайлы:

<?php use \Core\Route; return [ new Route('/page/:id', 'page', 'one'), new Route('/pages/', 'page', 'all'), ]; ?>

Контроллер

Контроллерди жасайлы:

<?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 = 'Бардык барактардын тизмеси'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Көрүнүштөр

one методу үчүн көрүнүш жасайлы:

<h1><?= $h1; ?></h1> <div id="content"> <?= $text; ?> </div>

all методу үчүн көрүнүш жасайлы:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>title</th> <th>шилтеме</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">баракка шилтеме</td> </tr> <?php endforeach; ?> </table> </div>

Практикалык тапшырмалар

Сиздин база данныхында продуктулар бар деп коёлу. Ар бир продукт аталышын, баасын жана санын, сүрөттөмөсүн камтыйт. Бир продуктту id боюнча жана бардык продуктуларды теорияда жасалган сыяктуу чыгарыңыз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу