⊗ppMVUFmRPA 9 of 35 menu

Áp dụng tham số trong route trong MVC bằng PHP

Hãy xem xét việc áp dụng những gì đã mô tả vào một ví dụ thực tế hơn. Giả sử controller PageController của chúng ta chứa một mảng các trang (dữ liệu này lẽ ra phải được model cung cấp, nhưng chúng ta chưa tìm hiểu về model, vì vậy hãy để dữ liệu tạm thời chỉ được lưu trữ trong controller):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } } ?>

Hãy tạo một action show, sẽ hiển thị một trang với số cụ thể (id):

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show() { // tại đây chúng ta sẽ hiển thị trang với số cụ thể } } ?>

Giả sử khi truy cập địa chỉ /page/1/ sẽ hiển thị văn bản của trang đầu tiên, khi truy cập địa chỉ /page/2/ - văn bản của trang thứ hai, v.v. Hãy tạo route tương ứng:

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

Hãy triển khai phương thức show đã mô tả:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { private $pages; public function __construct() { $this->pages = [ 1 => 'page 1', 2 => 'page 2', 3 => 'page 3', ]; } public function show($params) { echo $this->pages[ $params['id'] ]; // hiển thị trang theo số } } ?>

Hãy triển khai controller UserController, chứa mảng sau:

<?php $this->users = [ 1 => ['name'=>'user1', 'age'=>'23', 'salary' => 1000], 2 => ['name'=>'user2', 'age'=>'24', 'salary' => 2000], 3 => ['name'=>'user3', 'age'=>'25', 'salary' => 3000], 4 => ['name'=>'user4', 'age'=>'26', 'salary' => 4000], 5 => ['name'=>'user5', 'age'=>'27', 'salary' => 5000], ]; ?>

Trong controller UserController, hãy tạo action show, sẽ hiển thị người dùng theo id cụ thể. Hãy để nó có thể truy cập được qua địa chỉ dạng sau: /user/:id/.

Trong controller UserController, hãy tạo action info, sẽ hiển thị tên hoặc tuổi của người dùng được chỉ định. Hãy để action này có thể truy cập được qua địa chỉ dạng sau: /user/:id/:key/, trong đó key sẽ có giá trị 'name', 'age' hoặc 'salary'.

Trong controller UserController, hãy tạo action all, sẽ hiển thị danh sách tất cả người dùng lên màn hình. Hãy để action này có thể truy cập được qua địa chỉ dạng sau: /user/all/ (ở đây sẽ không có tham số nào).

Trong controller UserController, hãy tạo action first, sẽ hiển thị danh sách N người dùng đầu tiên lên màn hình. Hãy để action này có thể truy cập được qua địa chỉ dạng sau: /user/first/:n/, trong đó tham số sẽ là số lượng người dùng cần hiển thị lên màn hình.

Tiếng Việt
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ʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối