digitalnature/php-ref

A nicer print_r/var_dump alternative for PHP 5.3+

v1.3 2020-01-28 21:41 UTC

This package is not auto-updated.

Last update: 2024-07-20 14:23:46 UTC


README

REF, or r() is a nicer alternative to PHP's print_r / var_dump functions.

DEMO

Requirements

  • (server) PHP 5.3+ (5.4+ displays additional info)
  • (client) Any browser, except IE 8 and lower of course

Installation using Composer

Add REF to your composer.json:

{
    "require": {
        "digitalnature/php-ref": "dev-master"
    }
}

Now tell composer to download the bundle by running:

$ php composer.phar update digitalnature/php-ref

Composer will install the bundle to the directory vendor/digitalnature.

Usage

Basic example:

// include the class (not needed if project runs with Composer because it's auto-loaded)
require '/full/path/to/ref.php';

// display info about defined classes
r(get_declared_classes());

// display info about global variables
r($GLOBALS);

To print in text mode you can use the rt() function instead:

rt($var);

To terminate the script after the info is dumped, prepend the bitwise NOT operator:

~r($var);   // html
~rt($var);  // text

Prepending the error control operator (@) will return the information:

$output = @r($var);   // html
$output = @rt($var);  // text

Keyboard shortcuts (javascript must be enabled):

  • X - collapses / expands all levels
  • Ctrl + X - toggles display state

To modify the global configuration call ref::config():

// example: initially expand first 3 levels
ref::config('expLvl', 3);

You can also add configuration options in your php.ini file like this:

[ref]
ref.expLvl = 3
ref.maxDepth = 4

Currently available options and their default values:

Similar projects

TODOs

  • Inherit DocBlock comments from parent or prototype, if missing
  • Refactor "bubbles" (for text-mode)
  • Correctly indent multi-line strings (text-mode)
  • Move separator tokens to ::before and ::after pseudo-elements (html-mode)

License

http://opensource.org/licenses/mit-license.html