protoqol / quo-php
Companion package for the Quo debugger.
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
- ramsey/uuid: ^3.8 || ^4.0
Requires (Dev)
- donatj/mock-webserver: ^2.10
- phpunit/phpunit: 7.*|8.*|9.*|10.*|11.*|12.*|13.*
- squizlabs/php_codesniffer: ^3.11 || ^4.0
README
Quo is a cross-platform variable dumper designed to make debugging easier. It receives data from your application and displays it in a clean desktop interface, allowing you to inspect complex values in real-time without cluttering your terminal or browser console.
Note: This package requires the Quo desktop client to be running to display the debug data.
Noteworthy features
- Multiple arguments: Inspect multiple variables or expressions in a single call.
- Rich Metadata: Capture stack traces, system metrics, memory addresses, and more.
Requirements
- PHP: >= 7.1
Installation
Add quo-php to your project using composer:
composer require protoqol/quo-php --dev
Usage
Use the quo function and pass variables to inspect:
<?php require_once 'vendor/autoload.php'; $user_id = 42; $user = [ 'id' => 1, 'username' => 'jdoe' ]; // Dump a single variable quo($user_id); // Dump multiple variables at once quo($user_id, $user); // Some quick maths quo(42 * 42);
Configuration
You can customise the Quo server address in your composer.json or environment variables.
Via composer.json
Add an extra block to your composer.json:
{
"extra": {
"quo-php": {
"host": "127.0.0.1",
"port": 7312
}
}
}
The correct port can be found in the bottom left in the Quo client. Do note that it is not to change host.
Dependency justification
| Package | Used for |
|---|---|
ext-json |
Serializes debug data into JSON format for transmission to the Quo client. |
ext-curl |
Transmits the captured debug payloads to the Quo desktop client over HTTP. |
ramsey/uuid |
Generates unique UUIDv4 identifiers for each individual dump event, enabling the client to uniquely identify and track them. |
License
Quo is open-source software licensed under the GPL-3 licence.