Controllers-Điều khiển chức năng trong ứng dụng.
Controller là phần chính ví như trái tim của ứng dụng, vì nó quyết định làm thế nào để HTTP yêu cầu sẽ được giải quyết. Một Controller đơn giản như một file lớp có được đặt tên theo cách bạn có thể kết hợp với URI.
Ví dụ:
Exemple.com/index.php/blog
Ví dụ trên. Codeigniter sẽ nỗ lực tìm controller có tên Blog.php và load nó. Khi một tên của Controller tương ứng với segment đầu tiên của URI, nó sẽ được load lên. Bạn hãy xem ví dụ sau:
Để bạn tạo một controller đơn giản vậy bạn có thể xem action sau. Sử dụng textEditor của bản tạo ra file Blog.php và thêm vào đoạn mã sau:
namespace App\Controllers
Use Codeigniter\Controller
Class Blog extends Controller
{
public function index()
{
echo 'Hello World!';
}
}
Sau đó bạn sẽ ghi vào thư mục của bạn trong /App/Controllers/directory
Khi bạn sử dung trên Browse với URL như sau:
Example.com/index.php/blog
Bạn sẽ nhìn thấy dòng chữ: Hello World.
Chú ý tên của lớp sẽ có ký tự đầu tiên là chữ hoa
Nên đoạn mã sau đâu sẽ đúng:
use CodeIgniter\Controller;
class Blog extends Controller {
}
Còn đoạn sau sẽ không đúng:
use CodeIgniter\Controller;
class blog extends Controller {
}
Phương thức:
Trên ví dụ trên, phương thức trên là index(). Phương thức “index” phải luôn được load theo mặc định nếu là segment của URI. Một cách khác là show ra chữ “Hello World”
example.com/index.php/blog/index/
Chúng ta thử đoạn mã sau:
use CodeIgniter\Controller;
class Blog extends Controller
{
public function index()
{
echo 'Hello World!';
}
public function comments()
{
echo 'Look at this!';
}
}
Bây giờ trên URL muốn viết ra comment phương thức:
example.com/index.php/blog/comments/
Truyền biến vào trong phương thức qua Segment URI như ví dụ sau:
example.com/index.php/products/shoes/sandals/123
use CodeIgniter\Controller;
class Products extends Controller
{
public function shoes($sandals, $id)
{ echo $sandals;
echo $id;
}
}
Ở trên chúng tôi đã trình bày rõ ràng vai trò chức năng của controllers.