⊗ppMVUFmAE 19 of 35 menu

Истифодаи MVC дар PHP

Биёед назар кунем ба истифодаи муштараки ҳамаи омӯхтаҳо. Фарз кунем, барои намуна, дар сайти мо баъзе саҳифаҳо-мақолаҳо ҳастанд. Мо мехоҳем ё як мақоларо нишон диҳем, ё ҳамаи мақолаҳоро нишон диҳем. Биёед таҳлил кунем, ки чӣ тавр инро дар фреймворки мо иҷро кардан мумкин аст.

Ҷадвал дар ПБ

Барои оғоз ҷадвали 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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан