2017 © Pedro Peláez
 

library phpdebugtools

A few tools to help debug data.

image

grandt/phpdebugtools

A few tools to help debug data.

  • Friday, August 28, 2015
  • by Grandt
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • HTML
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

DebugTools

This package aims to provide some nice debug tools. Well, just one tool for now., (*1)

Introduction

For now, only the HexBlock is added. What it does is provide an easy way to dump binary data directly from a currently open file stream. Example output of a gif file, where the file pointer is on position 3, the method have been told to dump the following 68 bytes., (*2)

Note that the file pointer will be reset to its initial position after the dump, essentially leaving the handle unaffected., (*3)

    Start: 0x03; Length: 68 (0x44)
    00: -- -- -- 38 39 61 59 00  68 00 c4 15 00 ad df ff | ---89aY. h.......
    10: e5 f4 ff cb ea ff ff ff  ff 98 d6 fe b7 b9 bb 81 | ........ ........
    20: d2 ff 77 cc ff 8f c5 fe  54 9a f5 11 28 7d 65 ab | ..w..... T...(}e.
    30: fe 52 75 a1 7a b7 fb 66  cc ff 5b cc fe 00 66 ff | .Ru.z..f ..[...f.
    40: 0f 71 ff ff 39 00 b3 --  -- -- -- -- -- -- -- -- | .q..9..- --------

Usage

Call, (*4)

    $block = HexBlock::createBlock($handle, $length, $encodeHtml [Default = true]);

$encodeHtml merely ensures that any html entities are encoded as such, but doesn't add any line break tags., (*5)

The function also accepts a string as an argument (from 1.0.1), and will dump that string from the first byte., (*6)

    $block = HexBlock::createBlock($dataString, $length, $encodeHtml [Default = true]);

To assist in debugging, having a test string behave as a file handle can be useful. str2resource was added in DebugTools 1.0.1., (*7)

    $fh = DebugHelpers::str2resource($stringData);
    // work
    fclose($fh); // Remember to close the handle to free up memory.

Warning

Parsing -1 as the $bytes parameter will cause the function to dump the entirety of the file., (*8)

Import

Add this requirement to your composer.json file:, (*9)

    "grandt/phpdebugtools": ">=1.0.1"

Composer

If you already have Composer installed, skip this part., (*10)

Packagist, the main composer repository has a neat and very short guide., (*11)

Or you can look at the guide at the Composer site., (*12)

The easiest for first time users, is to have the composer installed in the same directory as your composer.json file, though there are better options., (*13)

Run this from the command line:, (*14)

php -r "readfile('https://getcomposer.org/installer');" | php

This will check your PHP installation, and download the composer.phar, which is the composer binary. This file is not needed on the server though., (*15)

Once composer is installed you can create the composer.json file to import this package., (*16)

{
    "require": {
        "grandt/phpdebugtools": ">=1.0.1"
    }
}

Followed by telling Composer to install the dependencies., (*17)

php composer.phar install

this will download and place all dependencies defined in your composer.json file in the vendor directory., (*18)

Finally, you include the autoload.php file in the new vendor directory., (*19)

<?php
    require 'vendor/autoload.php';
    .
    .
    .

Example

    include "../vendor/autoload.php";
    use grandt\DebugTools;

    $srcFile = "[path to file]";

    $fh = fopen($srcFile, "rb");
    echo HexBlock::createBlock($fh, 68, true);
    fclose($fh);

The Versions

28/08 2015

dev-master

9999999-dev

A few tools to help debug data.

  Sources   Download

LGPL-2.1

The Requires

 

debug utilities

28/08 2015

1.0.1

1.0.1.0

A few tools to help debug data.

  Sources   Download

LGPL-2.1

The Requires

 

debug utilities

13/08 2015

1.0.0

1.0.0.0

A few tools to help debug data.

  Sources   Download

LGPL-2.1

The Requires

 

debug utilities