Hướng dẫn php 8 repl
Lời mở đầuBạn là một PHP programmer? Bạn đã từng phát triển website bằng một trong các framework hay CMS (Content Management System) như: Cake, Drupal, eZ Publish, Laravel, Magento, Patheon, Symfony, WordPress hay Zend? Nếu vậy, chắc hẳn ít nhiều bạn cũng biết đến chức năng tương tác với framework thông qua console (như terminal của Ubuntu hay CMD của Windows)? Vâng, mình thì chỉ biết đến, quan tâm và sử dụng chức năng hay ho này khi mình làm việc với Laravel framework là Tinker. Khoảng thời gian đầu, mình cũng không để ý đến chức năng này. Nhưng sau khi xem qua một video giới thiệu về Tinker của Laravel để debug ứng dụng thì mình đã bắt đầu chú ý hơn về nó. Và mình cũng chỉ biết dùng nó ở mức cơ bản là debug Model hay các service mình viết. Không hề quan tâm đến dòng chữ đầu tiên mỗi khi chạy lệnh Tinker là:
Mình vẫn thầm nghĩ tại sao Laravel lại có thể phát triển được một công cụ hay ho như thế. Cho đến khi mình để ý dòng text ở trên )! Mình liền Google Psy Shell thì được dẫn đến trang chủ của nó. Sau đây, mình xin phép giới thiệu về nó - Psy Shell nhé.Psy ShellPsy Shell là một "runtime developer console", nó hỗ trợ chúng ta "interactive debugger and REPL (Read-Eval-Print-Loop)" cho PHP. Nếu bạn đã hoặc thường xuyên debug code JS qua JavaScript console của trình duyệt hay thi thoảng bạn chạy thử đoạn code PHP với PHP interactive shell qua lệnh:
Thì chắc bạn cũng đã hiểu được phần nào sự tiện lợi của việc debug ứng dụng trực tiếp thông qua giao diện console. Okie, bây giờ mình sẽ giới thiệu về cách cài đặt Psy Shell, các câu lệnh chi tiết của nó và cách sử dụng nó trong source code của mình (nó không thuộc danh sách các framework hay CMS mà mình đã nêu ở trên) nhé! Cài đặt Psy ShellCài đặt Psy Shell, bạn có 02 cách là thông qua Composer bằng lệnh:
Sau đó chạy nó bằng lệnh:
Hoặc bạn cũng có thể download trực tiếp thông qua lệnh:
Các câu lệnhĐể xem danh sách các lệnh của Psy Shell, bạn có thể nhập () sau lệnh mình giới thiệu sẽ tương tự là alias của lệnh đó nhé. Ví dụ help (?) thì có nghĩa bạn sẽ sử dụng được ? thay cho help .
Ngoài ra, Psy Shell cũng cho phép chúng ta cài đặt nó như hạn chế số dòng của history, cho phép lưu lại các câu lệnh giống nhau vào history hay kích
thước của tập tin chứa các câu lệnh đã sử dụng, ... bằng cách bạn tạo một file với tên Đầu tiên, chúng ta sẽ tải source code của nó về tại đây. Mình chọn v2x nhé. Xả nén file zip đã tải về, sau đó đi vào thư mục CI mà bạn vừa xả nén, cài đặt Psy SH bằng Composer:
Tạo một file với tên tùy ý. Mình chọn là get_instance() . Và để có
thể gọi được function này, bạn mở file index.php của CI ra sẽ thấy, nó khai báo một loạt các constant cần thiết, sau đó require file CodeIgniter.php trong thư mục core của system. Nếu chúng ta chỉ require mình CodeIgniter.php trong file ci-shell không thôi thì chương trình sẽ không chạy. Vì CI luôn kiểm tra xem có constant BASE_PATH không. Vậy, để tránh viết lại cả file index.php vào ci-shell , chúng ta sẽ thực hiện include luôn cả index.php vào ci-shell của chúng ta nhé:
OK, giờ bạn có thể sử dụng Psy Shell với CI bằng lệnh:
Bây giờ bạn có thể tương tác với CI rồi. Bạn thử xem nhé ^^!
|