Cách hay để mảng print_r


7

Vì vậy, bạn biết làm thế nào Drupal có các chức năng trong các mô-đun như Devel cho phép bạn xuất các mảng theo định dạng đẹp như dsm($array)hoặc krumo($array)... WordPress có cách hiển thị tương đương hoặc đẹp print_r($array)không?


wwrong với var_dump () hoặc print_r () là gì? chính xác những gì bạn đang nhắm đến? (tôi xin lỗi, tôi không biết rõ về druppal ..
krembo99

2
krumo cho phép người dùng in các mảng thành một danh sách được định dạng mở rộng khi nhấp chuột. Vì vậy, thay vì có đầu ra <pre> -wrapping print_r ở mọi nơi, thay vào đó bạn sẽ có một số danh sách thả xuống rất đẹp. Đẹp hơn nhiều để hiển thị!
emc

Câu trả lời:


12

Tôi đã tạo một plugin Kint hoạt động thực sự tốt. Tôi cũng tích hợp với plugin Debug Bar. Bạn có thể tải xuống tại: http://wordpress.org/extend/plugins/kint-debugger/

Có một vài chức năng giúp bạn giải quyết vấn đề toàn cầu về WordPress:

  • dump_wp_query()
  • dump_wp()
  • dump_post()

Để in các mảng theo định dạng có thể thu gọn, bạn sẽ làm như sau.

$foo_bar = array(
    'foo' => 'bar',
    'bar' => 'oof',
    'rab' => 'foo'
);
d($foo_bar); //Styled
s($foo_bar); //Un-styled

2
Thật là một ý tưởng tuyệt vời, chúc mừng.
Wyck

7

Bạn có thể cài đặt và sử dụng Krumo với WordPress (hoặc bất kỳ ứng dụng PHP nào thực sự). Có plugin Hikari Krumo giúp đơn giản hóa việc sử dụng, mặc dù kiểm tra các nhận xét ở đó, có một lỗi mà bạn sẽ cần phải sửa bằng tay để làm cho nó hoạt động với WP mới nhất. Ngoài ra còn có plugin WordPress Debug Bar mà bạn có thể thấy hữu ích.

EDIT- Một lựa chọn khác mà tôi mới phát hiện ra, Kint ; ảnh chụp màn hình:

Ảnh chụp màn hình Kint


5

Đối với loại công cụ này, tôi đã viết REF (yêu cầu PHP 5.3). Trong số nhiều tính năng khác, nó hiển thị nội dung của các bình luận DocBlock và liên kết các lớp, phương thức và hàm bên trong PHP (các liên kết trỏ đến hướng dẫn PHP). Nó cũng xử lý các chức năng WordPress (liên kết trỏ đến queryposts.com ).

Dưới đây là đầu ra của $GLOBALStại setupsân khấu của WordPress trong chế độ HTML ( r($GLOBALS);trong functions.php):

nhập mô tả hình ảnh ở đây


2
+1 cho người dùng DB rootvà mật khẩu trống.
fuxia

lol không bao giờ nghĩ rằng WP thực sự sẽ lưu trữ điều đó quá :)
onetrickpony

Một Trick, hình ảnh đã mất tích.
brasofilo

Có vẻ để hiển thị cho tôi. Tôi đã thêm một bản mới để phản ánh các bản cập nhật mới nhất cho kịch bản này
onetrickpony

Điều này thật phi thường!! SO cần thiết.
emc

2

Nếu bạn chỉ bọc các thẻ print_r()trong <pre>nó sẽ xuất ra rất đẹp. Nếu bạn đang tìm kiếm chẩn đoán tốt hơn một chút, hộp đen và thanh gỡ lỗi được đăng bởi @Milo là hình ảnh của tôi.


2

Ngoài ra, bạn có thể sử dụng plugin Đối tượng gỡ lỗi ; danh sách cũng kịch bản và phong cách. Plugin có nhiều tùy chọn hơn cho dev và gỡ lỗi, nhưng cũng có tính năng này.

Thay thế là nguồn này, bạn tìm thấy thông tin và bài viết về chủ đề này ở đây :

add_action('wp_footer', 'fb_urls_of_enqueued_stuff');
add_action('admin_footer', 'fb_urls_of_enqueued_stuff');
function fb_urls_of_enqueued_stuff( $handles = array() ) {
    global $wp_scripts, $wp_styles;
    // scripts
    foreach ( $wp_scripts -> registered as $registered )
        $script_urls[ $registered -> handle ] = $registered -> src;
    // styles
    foreach ( $wp_styles -> registered as $registered )
        $style_urls[ $registered -> handle ] = $registered -> src;
    // if empty
    if ( empty( $handles ) ) {
        $handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
        array_values( $handles );
    }
    // output of values
    $output = '';
    foreach ( $handles as $handle ) {
        if ( ! empty( $script_urls[ $handle ] ) )
            $output .= $script_urls[ $handle ] . '<br />';
        if ( ! empty( $style_urls[ $handle ] ) )
            $output .= $style_urls[ $handle ] . '<br />';
    }
    echo $output;
}

2

Tại sao không chỉ sử dụng xdebug?

Có vẻ khá gọn gàng với tôi, theo mặc định.

nhập mô tả hình ảnh ở đây

Ngoài ra còn có Kint, http://code.google.com.vn/p/kint/ nhưng tôi thấy các danh sách thả xuống khó hiểu hơn, sau đó là đầu ra đầy đủ của xdebug.


1
+1 Và đừng quên cấu hình nó trong php.initệp của bạn để tránh những thứ khó chịu ...cho những thứ lồng nhau.
kaiser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.