NTM Solutions

Thứ Tư, 12 tháng 12, 2018

Tự học CodeIgniter-Bài 20-Chạy chương trình bằng dòng lệnh CLI


#hoccodeigniter


Cũng giống như việc gọi 01 ứng dụng Controllers thông qua đường dẫn URL trên trình duyệt , chúng cũng có thể  được tải thông qua giao diện command-line (CLI).

Trước khi thực hành bài này các bạn phải thiết lập biến môi trường dẫn đến thư mục chứa tập tin php.exe bằng các bước sau:

·         Nhấp phải chuột vào My Compter (hoặc This PC) -> chọn Properties

·         Trong tab Advanced-> bấm nút Environment Variables…

·         Bấm nút New để tạo mới 01 đường dẫn và Dán vào đường dẫn đến thư mục chứa tập tin php.exe (trong hình dưới đây là phiên bản php5.6.35)



Nội dung bài viết:

o    CLI là gì?



o    Tổng kết!


Giao diện command-line là 01 phương thức dựa trên dòng lệnh tương tác với máy tính. Để biết thêm thông tin, các bạn vào đường dẫn sau: Wikipedia article.


Có nhiều lí do để chạy CodeIgniter từ command-line, nhưng chúng không rõ ràng.

·         Chạy các cron-jobs không cần dùng wget hoặc curl (các công cụ trong UNIX và LINUX)

·         Làm cho các cron-jobs không thể truy cập từ việc tải xuống trong URL bằng cách kiểm tra giá trị trả về của is_cli().

·         Tạo các “nhiệm vụ” tương tác có thể làm các việc như phân quyền, bỏ bớt các thư mục cache,  chạy backups, v.v.

·         Tích hợp với các phần mềm khác trong các ngôn ngữ khác. Ví dụ, 01 đoạn C++ bất kỳ có thể gọi 01 lệnh và chạy mã trong các models của bạn!


Hãy tạo 01 controller đơn giản để xem cách nó hoạt động. Ta tạo 01 tập tin Tools.php, và gõ vào đoạn mã sau:

<?php

class Tools extends CI_Controller {



        public function message($to = 'Lophocvitinh.COM')

        {

                echo "Xin chao {$to}!".PHP_EOL;

        }

}

Sau đó lưu vào thư mục application/controllers/

Bây giờ thông thường bạn sẽ truy cập vào liên kết URL giống như vầy:

example.com/index.php/tools/message/to

Thay vào đó, ta sẽ mở công cụ terminal trong Mac/Linux hoặc vào Run > “cmd” trong môi trường Windows và chuyển đến đường dẫn thư mục chứa CodeIgniter.

$ cd /path/to/project;

$ php index.php tools message

Nếu làm đúng bạn sẽ thấy dòng chữ Xin chào Lophocvitinh.COM xuất ra màn hình.

$ php index.php tools message "tiensim"

Ở đây chúng ta sẽ truyền tham số theo cách giống như trên URL. “tiensim” được truyền như 01 tham số và xuất ra màn hình:

Xin chao tiensim!



Túm lại, đó là tất cả những gì ta cần biết để chạy các controllers trên dòng lệnh command line. Hãy nhớ đây chỉ mới là 01 controller thông thường, tính năng định tuyến và _remap() cũng có thể xài tốt.

Nếu vẫn chưa rõ các bạn xem thêm video clip sau:




By #tiensim

Nguồn: User Guide – General Topics
Facebook Youtube Google+