Làm cách nào để tạo tuyến đường trong CI?

Trong hướng dẫn này, tôi đã cố gắng cung cấp một cái nhìn tổng quan với các ví dụ mã cơ bản về Định tuyến URL, Hậu tố URL và Chuỗi truy vấn kích hoạt URL. Bây giờ câu hỏi là Tại sao nó được yêu cầu. ??

Theo mặc định, URL trong CodeIgniter được thiết kế thân thiện với công cụ tìm kiếm và con người. Thông qua người dùng này thực sự biết nội dung của một trang chỉ bằng cách kiểm tra URL trong thanh địa chỉ của trình duyệt

Do đó, Định tuyến URL là một kỹ thuật chuyển đổi các url thân thiện với SEO này sang định dạng mà mã máy chủ có thể hiểu dễ dàng và chuyển yêu cầu đến tập lệnh xử lý yêu cầu tương ứng của chúng

Đặt quy tắc cho định tuyến URI CodeIgniter

Để tạo quy tắc định tuyến của riêng bạn, hãy mở các tuyến. php nằm trong application/config. Tại đây, bạn sẽ tìm thấy mảng $routes cho phép bạn chỉ định tiêu chí định tuyến của riêng mình bằng bất kỳ phương pháp nào trong hai phương pháp dưới đây

ký tự đại diện

Chúng ta có thể sử dụng hai loại ký tự đại diện, cụ thể là

  1. num –  Phân đoạn chỉ chứa các số sẽ được so khớp
  2. bất kỳ – Phân đoạn chỉ chứa các ký tự sẽ được khớp

sử dụng. con số

$route['[blog/:num]'] = 'tutorial/java/$1';

Một URL có “blog” là phân đoạn đầu tiên và một số trong phân đoạn thứ hai sẽ được ánh xạ lại vào lớp “tutorial” và phương thức “java” được chuyển vào đối sánh dưới dạng một biến cho hàm

Giống như khi chúng tôi gọi https. //www. quên đi. com/blog/1  hoặc https. //www. quên đi. com/blog/2  nó sẽ chuyển hướng đến https. //www. quên đi. com/hướng dẫn/java/$1

Ghi chú. Bạn chỉ có thể gọi URL bằng cách sử dụng số

sử dụng. không tí nào

$route['[blog/:any]'] = 'tutorial/java';

Một URL có “blog” là phân đoạn đầu tiên và mọi thứ trong phân đoạn thứ hai sẽ được ánh xạ lại vào lớp “hướng dẫn” và phương thức “java”

Giống như khi chúng tôi gọi https. //www. quên đi. com/blog/ hoặc https. //www. quên đi. com/blog/css nó sẽ chuyển hướng đến https. //www. quên đi. com/hướng dẫn/java

Ghi chú. hướng dẫn là bộ điều khiển và java là chức năng của bộ điều khiển

Ghi chú. Không sử dụng dấu gạch chéo đầu/dấu

Biểu hiện thông thường

Bạn cũng có thể chuyển hướng tuyến đường của mình bằng biểu thức chính quy

$route['blog/[[a-zA-Z0-9]+]'] = 'tutorial/java';

Bằng đoạn mã trên, bạn có thể gọi URL bằng biểu thức chính quy của riêng mình. Trong biểu thức này không được phép sử dụng các ký tự đặc biệt

Bạn cũng có thể bắt gặp một đoạn chứa dấu gạch chéo lên ['/'], dấu gạch chéo này thường đại diện cho dấu phân cách giữa nhiều đoạn

Ghi chú. Bạn cũng có thể trộn và kết hợp các ký tự đại diện

Hậu tố URL

Để thêm hậu tố, hãy chỉnh sửa cấu hình. php nằm trong ứng dụng/config. Ví dụ,

$config['url_suffix'] = '.html';

URL Chuỗi truy vấn đã bật

Để sử dụng URL của chuỗi truy vấn, hãy chỉnh sửa cấu hình. php nằm trong ứng dụng/config. Đặt 'enable_query_strings' thành TRUE và xác định trình kích hoạt bộ điều khiển và chức năng

$config['enable_query_strings'] = TRUE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

Phần kết luận

Đây là tất cả về cách hoạt động của các tuyến đường trong CodeIgniter. Hy vọng bạn thích nó, tiếp tục đọc các blog khác của chúng tôi. 🙂

Tất cả các URL trong CodeIgniter đều được làm ngắn gọn và thân thiện với công cụ tìm kiếm. Nó sẽ có ý nghĩa hơn đối với du khách. Người dùng sẽ biết về nội dung trang thông qua URL của nó. Vì vậy, làm thế nào để tạo các tuyến đường Codeigniter tìm hiểu ở đây dưới đây với các ví dụ

Chức năng của các tuyến đường trong Codeigniter là đơn giản hóa URL và phản hồi với nội dung được liên kết với tuyến đường và làm cho URL phức tạp trở nên ngắn gọn. Một tuyến đường trả lại phản hồi cho URL mà người dùng yêu cầu. Nó đơn giản hóa URL được liên kết với nội dung

Ví dụ

www. tên miền của bạn. com/chính/nhà
www. tên miền của bạn. com/main/about
www. tên miền của bạn. com/chính/liên hệ
www. tên miền của bạn. com/chính/đăng nhập
www. tên miền của bạn. com/chính/đăng ký

Các tuyến được đặt sau base_url hoặc index_url với bộ điều khiển và phương thức được tạo để định tuyến đến một trang cụ thể

Làm thế nào nó hoạt động?

Trong URL của trình duyệt, cấu trúc định tuyến trông giống như thế này

domain_name.com/Controller/Method/Parameter/

Trong ví dụ URL ở trên,
Trình điều khiển trỏ đến tên của trình điều khiển [lớp] được tạo trong quá trình phát triển i. e. bộ điều khiển được xác định trong thư mục của bộ điều khiển, sau đó liên kết tên bộ điều khiển với URL cho phản hồi.
Phương thức được xác định bên trong bộ điều khiển được gọi và buộc phải phản hồi URL được yêu cầu.
Tham số cho tuyến đường là tùy chọn vì nó phụ thuộc vào tham số được truyền trong khi tạo phương thức/hàm.
**Có thể gọi các phương thức/hàm khác nhau của lớp thay vì một phương thức/hàm tương ứng với URL**

Ví dụ

localhost/user/delete/2
User = Controller,
Delete = Method inside User Controller,	
2 = Parameter that method takes

Thiết lập tuyến đường

Tạo bộ điều khiển mới trong ứng dụng/bộ điều khiển [tên phải giống với tên được liệt kê trong các tuyến đường. php trong trường hợp này Chính. php]
Tạo một lớp có cùng tên với bộ điều khiển và bên trong xác định phương thức tải chế độ xem.

class Main extends CI_Controller
{
	public function home[]
	{
		$this->load->view[‘home’];
	}
}

Cuối cùng, tạo chế độ xem bên trong thư mục ứng dụng/lượt xem với tên được đề cập trong khi tải bên trong phương thức điều khiển

________số 8

thì đấy. Bạn vừa tạo tuyến đường của mình

Ví dụ trên sẽ có kết quả là localhost/index. php/chính/nhà

**mục lục. php có thể được gỡ bỏ bằng cách thiết lập các tuyến mặc định trong Ứng dụng/config/tuyến. tập tin php**

Nếu không tìm thấy tuyến phù hợp thì Codeigniter sẽ đưa ra một ngoại lệ Trang 404 không tìm thấy

Sử dụng các tuyến đường

Để xây dựng các ứng dụng lớn với các URL phức tạp bao gồm tất cả các đường dẫn định tuyến cùng với việc tìm nạp id làm cho URL trở nên lộn xộn và hoàn toàn không thân thiện với người dùng, cũng như không thân thiện với Công cụ Tìm kiếm. Quy ước cũ trong URL sử dụng các phương thức truy vấn để chuyển yêu cầu cùng với phần mở rộng của trang được yêu cầu

Bán tại

example.com/admin/user.php?q=1

Phản hồi nào quá phức tạp và dài và đối với người dùng thì điều đó thật vô nghĩa. Người dùng sẽ biết được nội dung có trên trang thông qua URL của nó

Cách dễ dàng hơn nó có thể được thực hiện là

$route['[blog/:any]'] = 'tutorial/java';
0

điều này có ý nghĩa hơn về trang được liên kết với nó. Việc sử dụng URL định tuyến trở nên sạch hơn và tăng trải nghiệm người dùng trong việc định tuyến web. Hơn nữa, định tuyến URL giúp tạo các tuyến thân thiện với SEO để truy cập trang với phản hồi nhanh

Định tuyến tùy chỉnh cho ứng dụng

Như chúng ta đã tìm hiểu về cách các tuyến đường hoạt động trong Codeigniter. Bây giờ, hãy tạo một số URL tùy chỉnh cho ứng dụng của bạn để chúng tôi có thể triển khai nó trong các dự án trong thế giới thực của chúng tôi. Chúng tôi sẽ triển khai các tuyến trong một ứng dụng blog nhỏ nơi chúng tôi có thể tạo, cập nhật, xóa và xem các lượt xem blog dựa trên các tuyến khác nhau trong URL

Đối với mỗi chức năng hoạt động, bộ điều khiển sẽ giống nhau. e. blog và các phương pháp bên trong là khác nhau. Cấu trúc làm việc của định tuyến này sẽ hoạt động như thế này được hiển thị bên dưới

$route['[blog/:any]'] = 'tutorial/java';
1

Trước khi tạo bộ điều khiển và chế độ xem để cấu trúc trên hoạt động. Url tùy chỉnh phải được thiết lập bằng cách tạo tuyến đường cho dự án. Mở ứng dụng/cấu hình/tuyến đường. php Thêm các dòng cụ thể bỏ qua dòng mặc định

$route['[blog/:any]'] = 'tutorial/java';
2

Giải trình

Các dòng bên phải dấu bằng là bộ điều khiển và bộ điều khiển trỏ đến phương thức mà chúng đang gọi và các dòng ở bên trái dấu bằng xác định tuyến đường mà nó sẽ đi hoặc url được hiển thị.
Do đó, trong kịch bản của chúng ta

$route['[blog/:any]'] = 'tutorial/java';
3

Sau khi tất cả các tuyến được đặt, hãy tạo bộ điều khiển cho blog sẽ phản hồi các tuyến được chỉ định ở trên. Ứng dụng/bộ điều khiển bên trong tạo tệp mới Blog. php và đoạn mã sau

Làm cách nào để tạo tuyến đường mới trong CodeIgniter?

Tạo định tuyến URL cho ứng dụng .
$route['default_controller'] = 'chào mừng';
$route['contacts'] = 'liên hệ';

Định tuyến trong CI là gì?

CodeIgniter có hai loại định tuyến. Một là Định tuyến đường đã xác định và hai là Định tuyến tự động . Với Định tuyến đường xác định, bạn có thể xác định tuyến đường theo cách thủ công. Nó cho phép URL linh hoạt. Định tuyến tự động tự động định tuyến các yêu cầu HTTP dựa trên các quy ước và thực thi các phương thức điều khiển tương ứng.

Làm cách nào để tạo tuyến đường động trong CodeIgniter?

Bởi vì nếu tôi làm. $tuyến đường['[. any]'] = 'pages/slug_on_the_fly/$1'; .
Tạo một route_extra. tập tin php định tuyến. php bao gồm ở cuối. .
Bộ định tuyến lớp con. php và thêm một lớp định tuyến mới
Thêm một hook pre_system để thêm các tuyến đường

Làm cách nào để tạo URL tùy chỉnh trong CodeIgniter?

Trong CodeIgniter, tất cả chúng ta đều biết rằng URL cơ sở của dự án được xác định trong application/config/config. tập tin php. Nếu vị trí dự án thay đổi, bạn chỉ cần thay đổi giá trị $config['base_url'] . URL cơ sở của dự án có thể nhận được bằng cách gọi phương thức base_url[] trong dự án CodeIgniter.

Chủ Đề