Debug bằng cách ghi ra tập tin (file)

Đăng bởi phannphong lúc 31 Tháng 5, 2018
Debug ra file

Trong quá trình phát triển (development), mình thường debug để xác định giá trị cần lấy hay tìm lỗi. Với mình, debug như là điều bắt buộc trong quá trình làm việc cũng như thỉnh thoảng mày mò code này nọ.

Với Drupal nhất là Drupal 8, mình hay cài module devel để quá trình debug diễn ra thuận tiện hơn. Bên cạnh đó, mình cũng hay dùng câu lệnh đơn giản của php là print_r. Tuy nhiên, trong quá trình debug, đôi lúc mình gặp khó khăn với devel hay cả với print_r trong việc hiển thị chúng ra giao diện FO (frontend) như khi mình làm việc với form ajax chẳng hạn. Lúc này thì mình hay dùng file_put_contents để debug bằng cách ghi ra tập tin.

Ví dụ:

$data = ['red', 'black', 'blue'];
$file = '/example/path/drupaltut.txt';
file_put_contents($file, print_r($data, TRUE));

Ở câu lệnh print_r, mình có dùng tham số trả về là TRUE. Việc này để print_r sẽ trả về thông tin của dữ liệu cần debug thay vì in ra nó.

Mở tập tin drupaltut.txt, bạn sẽ thấy như sau:

Array
(
    [0] => red
    [1] => black
    [2] => blue
)

Ghi chú: để tập tin có thể được ghi xuống, bạn cần cho phép thư mục chứa tập tin debug có quyền write.

Như ở trên, bạn sẽ chỉnh chmod của thư mục path như sau để tập tin của bạn có thể được ghi xuống

chmod 777 /example/path/

Tham khảo: http://php.net/manual/en/function.print-r.php

Thẻ

Bình luận

Debug ra file

Trong quá trình phát triển (development), mình thường debug để xác định giá trị cần lấy hay tìm lỗi. Với mình, debug như là điều bắt buộc trong quá trình làm việc cũng như thỉnh thoảng mày mò code này nọ.

Với Drupal nhất là Drupal 8, mình hay cài module devel để quá trình debug diễn ra thuận tiện hơn. Bên cạnh đó, mình cũng hay dùng câu lệnh đơn giản của php là print_r. Tuy nhiên, trong quá trình debug, đôi lúc mình gặp khó khăn với devel hay cả với print_r trong việc hiển thị chúng ra giao diện FO (frontend) như khi mình làm việc với form ajax chẳng hạn. Lúc này thì mình hay dùng file_put_contents để debug bằng cách ghi ra tập tin.

Ví dụ:

$data = ['red', 'black', 'blue'];
$file = '/example/path/drupaltut.txt';
file_put_contents($file, print_r($data, TRUE));

Ở câu lệnh print_r, mình có dùng tham số trả về là TRUE. Việc này để print_r sẽ trả về thông tin của dữ liệu cần debug thay vì in ra nó.

Mở tập tin drupaltut.txt, bạn sẽ thấy như sau:

Array
(
    [0] => red
    [1] => black
    [2] => blue
)

Ghi chú: để tập tin có thể được ghi xuống, bạn cần cho phép thư mục chứa tập tin debug có quyền write.

Như ở trên, bạn sẽ chỉnh chmod của thư mục path như sau để tập tin của bạn có thể được ghi xuống

chmod 777 /example/path/

Tham khảo: http://php.net/manual/en/function.print-r.php

Thẻ

Bình luận