Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?

echo "echo does not require parentheses.";

// Strings can either be passed individually as multiple arguments or
// concatenated together and passed as a single argument
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', "\n";
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

________số 8_______

// Same as above
echo "hello", "world";

echo "This string spans
multiple lines. The newlines will be
output as well";

echo "This string spans\nmultiple lines. The newlines will be\noutput as well.";

// The argument can be any expression which produces a string
$foo = "example";
echo "foo is $foo"; // foo is example

$fruits = ["lemon", "orange", "banana"];
echo implode(" and ", $fruits); // lemon and orange and banana

// Non-string expressions are coerced to string, even if declare(strict_types=1) is used
echo 6 * 7; // 42

// Because echo does not behave as an expression, the following code is invalid.
($some_var) ? echo 'true' : echo 'false';

// Strings can either be passed individually as multiple arguments or
// concatenated together and passed as a single argument
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', "\n";
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";
0

// Strings can either be passed individually as multiple arguments or
// concatenated together and passed as a single argument
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', "\n";
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";
1

Trong hướng dẫn này, chúng tôi sử dụng echo hoặc print trong hầu hết mọi ví dụ. Vì vậy, chương này chứa thêm một chút thông tin về hai câu lệnh đầu ra đó


Câu lệnh echo và print PHP

echoprint ít nhiều giống nhau. Cả hai đều được sử dụng để xuất dữ liệu ra màn hình

Sự khác biệt là nhỏ. echo không có giá trị trả về trong khi print có giá trị trả về là 1 nên có thể sử dụng nó trong các biểu thức. echo có thể nhận nhiều tham số (mặc dù việc sử dụng như vậy rất hiếm) trong khi print có thể nhận một tham số. echo nhanh hơn một chút so với print


Tuyên bố tiếng vang PHP

Câu lệnh echo có thể được sử dụng có hoặc không có dấu ngoặc đơn. echo hoặc print4

Hiển thị văn bản

Ví dụ sau đây cho thấy cách xuất văn bản bằng lệnh print (chú ý rằng văn bản có thể chứa đánh dấu HTML)

Ghi chú. Hàm echo() không thực sự là một hàm, vì vậy bạn không bắt buộc phải sử dụng dấu ngoặc đơn với nó. Tuy nhiên, nếu bạn muốn truyền nhiều hơn một tham số cho echo(), việc sử dụng dấu ngoặc đơn sẽ tạo ra lỗi phân tích cú pháp

Mẹo. Hàm echo() nhanh hơn một chút so với hàm print()

Mẹo. Hàm echo() cũng có cú pháp tắt. Trước PHP 5. 4. 0, cú pháp này chỉ hoạt động với cài đặt cấu hình short_open_tag được bật

Là một ngôn ngữ lập trình, PHP là ngôn ngữ yêu thích của nhà phát triển. Một thực tiễn tốt nhất về lập trình PHP thiết yếu là cách đăng nhập vào bảng điều khiển trong PHP. Hôm nay, chúng tôi sẽ trình bày cách bạn làm điều đó

PHP là một trong những ngôn ngữ kịch bản phía máy chủ phổ biến nhất để xây dựng các ứng dụng web vì nó dễ sử dụng. Nhưng bất kể bạn xây dựng gì, ghi lỗi là chìa khóa để đảm bảo chu trình phản hồi học mã-kiểm tra mã ngắn

PHP được thiết kế độc đáo để tốt cho việc xây dựng các ứng dụng web. Tuy nhiên, PHP được phát triển trước các trình duyệt hiện đại, do đó, nó thiếu một cách dễ dàng để ghi lỗi vào bảng điều khiển trình duyệt. Sử dụng JavaScript, đăng nhập vào bảng điều khiển đơn giản như thế này

console.log("Message here");

Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách đăng nhập vào bảng điều khiển trong PHP và tại sao đăng nhập bằng PHP có thể là một điều tốt. Hơn nữa, chúng tôi sẽ giải quyết cách đăng nhập vào bảng điều khiển bằng JavaScript dễ dàng như thế nào. Bạn có thể có những điều tốt nhất của cả hai thế giới. tận hưởng sức mạnh của PHP và đăng nhập vào bảng điều khiển trong PHP

Mẹo. Tìm lỗi ứng dụng và các vấn đề về hiệu suất ngay lập tức với Stackify Retrace

Khắc phục sự cố và tối ưu hóa mã của bạn thật dễ dàng với các lỗi tích hợp, nhật ký và thông tin chi tiết về hiệu suất cấp mã

Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?
Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?

Bảng điều khiển trình duyệt là gì?

Trước hết chúng ta cần hiểu bảng điều khiển trình duyệt là gì

Bảng điều khiển trình duyệt là một cách để trình duyệt ghi lại thông tin được liên kết với một trang web cụ thể. Thông tin được ghi bao gồm các yêu cầu mạng, JavaScript, CSS, cảnh báo và lỗi bảo mật, cũng như lỗi, cảnh báo và thông báo thông tin được ghi lại rõ ràng bằng mã JavaScript chạy trong ngữ cảnh trang

Để trình diễn, chúng tôi sẽ sử dụng phiên bản Google Chrome dành cho máy tính để bàn, nhưng bạn cũng có thể thực hiện các bước tương tự trong các phiên bản Firefox, Safari và Internet Explorer dành cho máy tính để bàn.  

Để bắt đầu, hãy mở Google Chrome và truy cập bất kỳ trang web nào, nhấp chuột phải và chọn Kiểm tra để hiển thị Công cụ dành cho nhà phát triển của Chrome

Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?
Hình. 1. Cách kích hoạt Công cụ dành cho nhà phát triển trong Chrome
Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?
Hình. 2. Công cụ dành cho nhà phát triển trong Chrome sau khi nhấp vào Kiểm tra

Bảng điều khiển trình duyệt sẽ là một trong các tab trong Công cụ dành cho nhà phát triển. Và bạn có thể kiểm tra bằng cách viết cùng một bảng điều khiển JavaScript. ghi lệnh

Làm cách nào để sử dụng tiếng vang PHP trong JavaScript?
Quả sung. 3. Cách đăng nhập vào bảng điều khiển bằng JavaScript

Tại sao đăng nhập vào bảng điều khiển là một điều tốt

Có hai lý do chính khiến bạn muốn đăng nhập vào bảng điều khiển trình duyệt

Đầu tiên là sự đơn giản. Là nhà phát triển PHP, bạn muốn làm việc với nhiều nhất hai ứng dụng, trình soạn thảo mã hoặc IDE yêu thích của bạn và trình duyệt của bạn. Vì thông thường bạn sẽ chuyển đổi giữa hai loại này khi viết mã trong trình chỉnh sửa và kiểm tra nó trên trình duyệt, nên vị trí tự nhiên nhất để hiển thị báo cáo nhật ký là bên trong trình duyệt

Lý do thứ hai là để giữ cho việc ghi nhật ký ít xâm nhập nhất có thể. Giờ đây, bạn có thể đăng nhập bằng các hàm gốc của PHP, chẳng hạn như var_dump. Tuy nhiên, khi bạn sử dụng var_dump, bạn cần quyết định nơi bạn muốn ghi đầu ra vào

Bạn có thể ghi đầu ra vào trang web của trình duyệt, nhưng điều này có thể sẽ làm biến dạng màn hình. Một đích đến khả thi khác cho đầu ra có thể là một tệp trong máy chủ của bạn. Đối với tùy chọn này, chúng tôi khuyên dùng thư viện ghi nhật ký mã nguồn mở như Monolog thay vì var_dump. Nếu bạn muốn xuất các biến chế độ xem mà không làm biến dạng trang web, thì việc đăng nhập vào bảng điều khiển trình duyệt sẽ tốt hơn

Một điều khác cần lưu ý là các nhà phát triển PHP đang ngày càng bị thu hút bởi các framework như Laravel và Symfony. Các khung này thường sử dụng các thư viện ghi nhật ký PHP phổ biến như Monolog. Các thư viện ghi nhật ký PHP hoạt động tốt nhất khi xuất ra bảng phân tích chi tiết về dấu vết ngăn xếp lỗi cho các lỗi phía máy chủ, chẳng hạn như kết nối cơ sở dữ liệu vào các tệp

Chúng tôi có một hướng dẫn về ghi nhật ký độc thoại cho những tình huống như vậy, nơi bạn có thể tìm hiểu cách gửi nhật ký tới Retrace. Đôi khi bạn chỉ muốn một cái gì đó nhẹ để hiển thị bên trong trình duyệt để gỡ lỗi giao diện người dùng. Đối với những tình huống như vậy, đăng nhập vào bảng điều khiển sẽ là lý tưởng. Hơn nữa, bạn có thể kết hợp kỹ thuật này với các phương thức ghi nhật ký PHP tiêu chuẩn để thiết lập phát triển hoàn chỉnh hơn

Cách đăng nhập trực tiếp vào bảng điều khiển bằng mã PHP

Có hai cách chính để bạn có thể đăng nhập trực tiếp vào bảng điều khiển bằng (hầu hết) mã PHP – hàm json_encode và các thư viện PHP

Sử dụng hàm json_encode

Giả sử bạn muốn điều khiển log một biến PHP $view_variable trong lớp xem của bạn. Nhớ lại bảng điều khiển đó. nhật ký là một chức năng JavaScript. Nguyên tắc chính là chúng ta có thể sử dụng JSON để truyền biến PHP cho hàm JavaScript. Bạn tạo một hàm PHP như thế này

function console_log($output, $with_script_tags = true) {
$js_code = 'console.log(' . json_encode($output, JSON_HEX_TAG) .
');';
if ($with_script_tags) {
$js_code = '';
}
echo $js_code;
}

Bạn có thể gọi hàm này tại chính nơi bạn muốn chạy console_log mà chúng ta vừa tạo ở trên. Một ví dụ về cách sử dụng của nó sẽ như thế này






Và đánh dấu HTML được tạo sẽ là thế này





Hãy nhớ bao gồm định nghĩa của hàm PHP console_log tùy chỉnh để gọi nó nhiều lần nếu cần. Nếu bạn muốn chuyển đổi chuỗi JSON thành các dạng khác, bạn có thể tham khảo danh sách các hằng mà json_encode sử dụng. Các hằng số hữu ích mà bạn có nhiều khả năng sử dụng hơn là JSON_FORCE_OBJECT và JSON_PRETTY_PRINT

Đăng nhập vào giữa mã JavaScript của bạn

Đôi khi bạn không muốn cài đặt các thư viện PHP trừ khi bạn hoàn toàn chắc chắn rằng mình phải cài đặt. Bạn có thể thích ghi nhật ký bảng điều khiển các biến PHP ở giữa mã JavaScript được tìm thấy trong các tệp xem PHP của bạn. Bạn có thể sử dụng kỹ thuật tương tự theo cách này

Sử dụng các thư viện PHP để ghi nhật ký bảng điều khiển

Nếu bạn muốn sử dụng các thư viện nguồn mở đã giải quyết vấn đề này, chúng tôi khuyên bạn nên sử dụng hai tùy chọn – PHPDebugConsole (hướng dẫn cài đặt và mã tại đây) và PHPConsole (hướng dẫn cài đặt và mã tại đây)

So sánh giữa PHPDebugConsole và PHPConsole

So sánh nhanh giữa hai thư viện mang lại phân tích sau

So sánh nhanh giữa hai thư viện mang lại phân tích sau

PHPConsole dường như được thiết lập nhiều hơn với 1. 3k sao trên repo GitHub của nó. Tại thời điểm viết bài, bản cập nhật cuối cùng của PHPConsole là tháng 9 năm 2019 và có ít lượt xác nhận hơn (126). Tiện ích mở rộng của Chrome được khuyến nghị cho PHPConsole dường như được tác giả bởi cùng những người đứng sau PHPConsole. Cuối cùng, trang web demo PHPConsole không còn hoạt động nữa, tôi đã kiểm tra lần cuối

Trong khi đó, PHPDebugConsole có 51 sao trên repo GitHub, lịch sử cập nhật thường xuyên hơn và 797 lần xác nhận với ba lần xác nhận cuối cùng đều diễn ra vào tháng 11 năm 2021. Tài liệu đề xuất một số tiện ích mở rộng trình duyệt mà PHPDebugConsole có thể hoạt động và bao gồm các ví dụ demo

Cân nhắc tất cả những điều trên, chúng tôi khuyên bạn nên chọn PHPDebugConsole nếu bạn muốn sử dụng thư viện PHP để ghi nhật ký bảng điều khiển. Nhìn chung, chúng tôi đề xuất ma trận quyết định sau

  • Nếu bạn muốn đơn giản, hãy sử dụng hàm PHP json_encode
  • Nếu bạn muốn sử dụng các tính năng mở rộng hơn như bảng điều khiển. thông tin, hãy sử dụng PHPDebugConsole với PHPConsole làm bản sao lưu của bạn
Một ví dụ từ PHPDebugConsole

Đây là một ví dụ được lấy từ trang web demo tuyệt vời của PHPDebugConsole

 true, // turn logging on
    'output' => true, // if left false (default), the output() method will return an empty string
));

/**
 * Example Class
 * Demonstrates PHP reflection and PHPDocBlock
 */
class Example
{
    private $offLimits = 'I\'m a private property';

    public function __toString() {
        return 'It\'s Magic';
    }

    /**
     * Foo is a private method that does stuff
     *
     * @param string $bar the string you want to foo
     *
     * @return string the fooed string
     */
    private function foo($bar) {
    }
}

$debug->info('PHPDebugConsole is great!');
$debug->warn('No browser plugin necessary');
$debug->log('features/options', array(
    'PHP port of the javascript web console API',
    'outputOpts' => array(
        'HTML (as seen here)',
        'ChromeLogger',
        'FirePHP',
        'Plain-text / file',
        '