Debugger frontend

Overview

Yii Debug Viewer


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

The package ...

Requirements

  • PHP 7.4 or higher.

Installation

The package could be installed with composer:

composer require yiisoft/yii-debug-viewer --prefer-dist

General usage

Testing

Unit testing

The package is tested with PHPUnit. To run tests:

./vendor/bin/phpunit

Mutation testing

The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:

./vendor/bin/roave-infection-static-analysis-plugin

Static analysis

The code is statically analyzed with Psalm. To run static analysis:

./vendor/bin/psalm

License

The Yii Debug Viewer is free software. It is released under the terms of the BSD License. Please see LICENSE for more information.

Maintained by Yii Software.

Support the project

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack

Comments
  • Improve appearance

    Improve appearance

    | Q | A | ------------- | --- | Is bugfix? | ❌ | New feature? | ❌ | Breaks BC? | ❌ | Fixed issues | -

    • Add hover to toolbar tabs
    • Prevent selection in toolbar header
    • Add special cursor for resize area in toolbar
    status:code review 
    opened by vjik 3
  • Adjust inspector panel

    Adjust inspector panel

    | Q | A | ------------- | --- | Is bugfix? | ✔️/❌ | New feature? | ✔️/❌ | Breaks BC? | ✔️/❌ | Fixed issues | comma-separated list of tickets # fixed by the PR, if any

    status:code review 
    opened by rustamwin 2
  • Implement middleware adding toolbar

    Implement middleware adding toolbar

    A middleware that displays a summary toolbar for current request. Reference is available in Yii 2: https://github.com/yiisoft/yii2-debug/blob/master/src/assets/js/toolbar.js

    debug window

    status:ready for adoption type:feature 
    opened by samdark 2
  • Add editor link settings

    Add editor link settings

    | Q | A | ------------- | --- | Is bugfix? | ✔️ | New feature? | ✔️ | Breaks BC? | ❌ | Fixed issues | #23

    Fix links in Windows. The drive letter was used instead of the path.

    opened by dood- 1
  • Update yiisoft/log-target-file requirement from ^1.1 to ^2.0

    Update yiisoft/log-target-file requirement from ^1.1 to ^2.0

    Updates the requirements on yiisoft/log-target-file to permit the latest version.

    Release notes

    Sourced from yiisoft/log-target-file's releases.

    Version 2.0.0

    Changelog

    Sourced from yiisoft/log-target-file's changelog.

    2.0.0 July 18, 2022

    1.1.0 May 23, 2022

    • Chg #36: Raise the minimum yiisoft/log version to ^2.0 and the minimum PHP version to 8.0 (@​rustamwin)

    1.0.4 August 26, 2021

    • Bug #35: Remove Psr\Log\LoggerInterface definition from configuration for using multiple targets to application (@​devanych)

    1.0.3 April 13, 2021

    1.0.2 March 23, 2021

    • Chg: Adjust config for new config plugin (@​samdark)

    1.0.1 February 22, 2021

    • Chg #29: Replace the default maximum file size for file rotation to 10 megabytes in params.php (@​devanych)

    1.0.0 February 11, 2021

    Initial release.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Update yiisoft/view requirement from ^4.0|^5.0 to ^6.0.0

    Update yiisoft/view requirement from ^4.0|^5.0 to ^6.0.0

    Updates the requirements on yiisoft/view to permit the latest version.

    Release notes

    Sourced from yiisoft/view's releases.

    Version 6.0.0

    Changelog

    Sourced from yiisoft/view's changelog.

    6.0.0 July 21, 2022

    5.0.1 June 30, 2022

    • Enh #205: Add support for yiisoft/cache version ^2.0 (@​vjik)

    5.0.0 February 03, 2022

    • New #193: Add simple view context class ViewContext (@​vjik)
    • New #193: Add method ViewInterface::withContextPath() that set view context path (@​vjik)
    • New #194: Add method ViewInterface::addToParameter() that add value(s) to end of specified array parameter (@​vjik)
    • New #195: Add method ViewInterface::withClearedState() that cleared state of view (parameters, blocks, etc.) (@​vjik)
    • Chg #195: Mutable method ViewInterface::setPlaceholderSalt() replaced to immutable withPlaceholderSalt() (@​vjik)
    • Chg #196: Renamed and made mutable methods of ViewInterface: withTheme() to setTheme(), withLanguage() to setLanguage() (@​vjik)
    • Enh #195: Methods removeParameter() and removeBlock() of ViewInterface returns self (@​vjik)
    • Enh #195: Methods of WebView returns self: registerMeta(), registerMetaTag(), registerLink(), registerLinkTag(), registerCss(), registerCssFromFile(), registerStyleTag(), registerCssFile(), addCssFiles(), addCssStrings(), registerJs(), registerScriptTag(), registerJsFile(), registerJsVar(), addJsFiles(), addJsStrings(), addJsVars() (@​vjik)
    • Bug #188: Use common state for cloned instances of View and WebView (@​vjik)
    • Bug #195: Fix configuration: set parameters after reset View and WebView (@​vjik)

    4.0.0 October 25, 2021

    • Chg #185: Add interface ViewInterface that classes View and WebView implement (@​vjik)
    • Enh #187: Improve exception message on getting not exist block or parameter in View and WebView (@​vjik)
    • Bug #189: Flush currently being rendered view files on change context via View::withContext() or WebView::withContext() (@​vjik)

    3.0.2 October 25, 2021

    • Chg #190: Update the yiisoft/arrays dependency to ^2.0 (@​vjik)

    3.0.1 September 18, 2021

    • Bug: Fix incorrect method in web configuration (@​vjik)

    3.0.0 September 18, 2021

    • Сhg: In configuration params.php rename parameter commonParameters to parameters (@​vjik)
    • Chg: Remove methods View::withAddedCommonParameters() and WebView::withAddedCommonParameters() (@​vjik)
    • Chg: In classes View and WebView rename methods setCommonParameters() to setParameters(), setCommonParameter() to setParameter(), removeCommonParameter() to removeParameter(), getCommonParameter() to getParameter(),

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Make event class clickable

    Make event class clickable

    | Q | A | ------------- | --- | Is bugfix? | ❌ | New feature? | ✔️ | Breaks BC? | ❌ | Fixed issues | #18

    Requires https://github.com/yiisoft/yii-debug/pull/120

    status:code review 
    opened by rustamwin 1
  • Reorganize routes

    Reorganize routes

    AFAIK now route to the debug panel is /debug/viewer and /debug just works as api. I suggest to restructure these routes:

    • /debug - panel
    • /debug/api - api. It can be conflict with panel routes when we do routes to selected panel for example as /debug/logger. Then we cannot add panel with name api. But we can make a little workaround /debug/panel/logger.
    status:ready for adoption type:enhancement 
    opened by xepozz 1
  • Development

    Development

    | Q | A | ------------- | --- | Is bugfix? | ✔️/❌ | New feature? | ✔️/❌ | Breaks BC? | ✔️/❌ | Fixed issues | Fix #22, #18, #17, #20, #19, #14

    status:code review 
    opened by rustamwin 1
  • Update yiisoft/view requirement from ^4.0 to ^5.0

    Update yiisoft/view requirement from ^4.0 to ^5.0

    Updates the requirements on yiisoft/view to permit the latest version.

    Changelog

    Sourced from yiisoft/view's changelog.

    5.0.0 February 03, 2022

    • New #193: Add simple view context class ViewContext (vjik)
    • New #193: Add method ViewInterface::withContextPath() that set view context path (vjik)
    • New #194: Add method ViewInterface::addToParameter() that add value(s) to end of specified array parameter (vjik)
    • New #195: Add method ViewInterface::withClearedState() that cleared state of view (parameters, blocks, etc.) (vjik)
    • Chg #195: Mutable method ViewInterface::setPlaceholderSalt() replaced to immutable withPlaceholderSalt() (vjik)
    • Chg #196: Renamed and made mutable methods of ViewInterface: withTheme() to setTheme(), withLanguage() to setLanguage() (vjik)
    • Enh #195: Methods removeParameter() and removeBlock() of ViewInterface returns self (vjik)
    • Enh #195: Methods of WebView returns self: registerMeta(), registerMetaTag(), registerLink(), registerLinkTag(), registerCss(), registerCssFromFile(), registerStyleTag(), registerCssFile(), addCssFiles(), addCssStrings(), registerJs(), registerScriptTag(), registerJsFile(), registerJsVar(), addJsFiles(), addJsStrings(), addJsVars() (vjik)
    • Bug #188: Use common state for cloned instances of View and WebView (vjik)
    • Bug #195: Fix configuration: set parameters after reset View and WebView (vjik)

    4.0.0 October 25, 2021

    • Chg #185: Add interface ViewInterface that classes View and WebView implement (vjik)
    • Enh #187: Improve exception message on getting not exist block or parameter in View and WebView (vjik)
    • Bug #189: Flush currently being rendered view files on change context via View::withContext() or WebView::withContext() (vjik)

    3.0.2 October 25, 2021

    • Chg #190: Update the yiisoft/arrays dependency to ^2.0 (vjik)

    3.0.1 September 18, 2021

    • Bug: Fix incorrect method in web configuration (vjik)

    3.0.0 September 18, 2021

    • Сhg: In configuration params.php rename parameter commonParameters to parameters (vjik)
    • Chg: Remove methods View::withAddedCommonParameters() and WebView::withAddedCommonParameters() (vjik)
    • Chg: In classes View and WebView rename methods setCommonParameters() to setParameters(), setCommonParameter() to setParameter(), removeCommonParameter() to removeParameter(), getCommonParameter() to getParameter(), hasCommonParameter() to hasParameter() (vjik)
    • Chg: Add fluent interface for setters in View and WebView classes (vjik)

    2.1.0 September 14, 2021

    • New #183: Add immutable methods View::withAddedCommonParameters() and WebView::withAddedCommonParameters() (vjik)

    2.0.1 August 30, 2021

    • Chg #182: Use definitions from yiisoft/definitions in configuration (vjik)

    2.0.0 August 24, 2021

    ... (truncated)

    Commits
    • bdf436c Release version 5.0.0
    • c81f3b9 Fix readme and minor improvements for phpdoc (#198)
    • 12b99ef Fix #196: Renamed and made mutable methods of ViewInterface: withTheme() ...
    • 0e28631 Add eol=lf text effect to .gitattributes file
    • e55451e Add PHP 8.1 support to GitHub workflow actions
    • 7dd0b5c Update Scrutinizer configuration
    • 36db910 Remove scheduled runs from all workflow actions
    • 7b9939e Add support for HTML reports for mutation testing
    • 967780e Update infection configuration
    • 3db065d Use common state for cloned view + Immutable set of paceholder salt + Improve...
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies php 
    opened by dependabot[bot] 1
  • Fix running standalone

    Fix running standalone

    | Q | A | ------------- | --- | Is bugfix? | ✔️ | New feature? | ✔️/❌ | Breaks BC? | ✔️/❌ | Fixed issues | comma-separated list of tickets # fixed by the PR, if any

    opened by rustamwin 1
  • Collect validator errors

    Collect validator errors

    Collect each validation rules entries and theirs result.

    Example

    class Model
    {
      #[String(min: 5, max: 10, stopOnErrorBehaviour: true)]
      #[Email()]
      private $id;
    }
    

    In the example you can see the Model with 1 property that has 2 rules. If the first one didn't done well the second won't be fired.

    So I want to see what are rules were triggered and a list of errors if the model had. Like the following:

    Validation:
    - Model (success/list of errors).
      - id
        - String (success/list of errors) [X] <-- triggered or not flag
        - Email (success/list of errors) [ ] <-- triggered or not flag
    

    Also would be great to see Rules setting, like min=5, max=10, stopOnErrorBehaviour=true from the snippet above.

    type:enhancement 
    opened by xepozz 0
  • Make class namespaces clickable

    Make class namespaces clickable

    Such a great idea is to add opportunity jump into IDE from Debug panel. I think it should be implemented in each place where we know that "string is class-like string" or we can fetch it from the raw. If we know line of file we should add it to link to IDE too.

    Use case: We see class-like string Yiisoft\Yii\Http\Event\ApplicationStartup. image

    Expected behaviour: When I click to it I want to be redirected to IDE and it should open class Yiisoft\Yii\Http\Event\ApplicationStartup

    type:enhancement 
    opened by xepozz 0
  • Show event handlers that were fired by event

    Show event handlers that were fired by event

    image

    It would be nice to have a table, a timeline or a graph with events and theirs listeners.

    For example:

    Dispatched UserSingUpEvent -> Triggered EmailSendHandler -> Triggered AnalyticsUpdateHandler and etc.

    type:enhancement 
    opened by xepozz 0
Owner
Yii Software
Yii Framework and packages
Yii Software
Xdebug — Step Debugger and Debugging Aid for PHP

Xdebug Xdebug is a debugging tool for PHP. It provides step-debugging and a whole range of development aids, such as stack traces, a code profiler, fe

Xdebug 2.8k Jan 3, 2023
The Interactive PHP Debugger

The interactive PHP debugger Implemented as a SAPI module, phpdbg can exert complete control over the environment without impacting the functionality

Joe Watkins 841 Oct 9, 2022
Dontbug is a reverse debugger for PHP

Dontbug Debugger Dontbug is a reverse debugger (aka time travel debugger) for PHP. It allows you to record the execution of PHP scripts (in command li

Sidharth Kshatriya 709 Dec 30, 2022
Php Debugger to run in terminal to debug your code easily.

What is Dephpugger? Dephpugger (read depugger) is an open source lib to make a debug in php direct in terminal, without necessary configure an IDE. Th

Renato Cassino 190 Dec 3, 2022
A Laravel Package to integrate Nette Tracy Debugger

Nette Tracy for Laravel 5 Better Laravel Exception Handler Features Visualization of errors and exceptions Debugger Bar (ajax support @v1.5.6) Excepti

Recca Tsai 383 Dec 6, 2022
Yet Another Swoole Debugger

English | 中文 yasd Yet Another Swoole Debugger. document How to use it build You'll need to install the Boost library first. macOS: brew install boost

Swoole Project 319 Dec 25, 2022
Phalcon 3.x BB Debugger Strong and easy install.

Phalcon BB Debugger Phalcon Version: 3.x BB Debugger Version: 1.0.3 Change Log See ChangeLog What is BB Debugger ? The bb debugger, written for the ph

İsmail 6 Oct 7, 2022
Php Debugger to run in terminal to debug your code easily.

What is Dephpugger? Dephpugger (read depugger) is an open source library that allows a developer to debug in php direct in terminal, without necessary

Renato Cassino 190 Dec 3, 2022
Slim Framework Tracy Debugger Bar

Slim Framework Tracy Debugger Bar configure it by mouse now in package: Panel Description Slim Framework - Slim Environment RAW data Slim Container RA

null 72 Aug 29, 2022
A few Fat-Free specific extensions for Tracy Debugger to help debug your code quickly.

Fat-Free Tracy Extensions This is a set of extensions to make working with Fat-Free a little richer. F3 - Analyze all hive variables. Database - Analy

Austin 6 Nov 17, 2022
Simple php debugger

Debugger Description Simple debugger for php Requirements PHP 5.5+ to 8.0 Usage new \Debugger\Debugger( true, // work mode [false - disable, 'FILE' -

null 0 Aug 10, 2022
Kind of a step-debugger for your Abstract Syntrax Tree

PHP AST Inspector This package offers a command-line utility for parsing a PHP script and navigating the resulting Abstract Syntax Tree (AST), showing

Matthias Noback 61 Dec 1, 2022
PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.

PHPMD PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly

PHP Mess Detector 2.1k Jan 8, 2023
CircleCI's frontend

CircleCI's frontend This is an open-source mirror of the code that is running CircleCI's frontend. CircleCI provides powerful Continuous Integration a

CircleCI Archived 1.2k Dec 30, 2022
Allows the use of the Vite.js next generation frontend tooling with Craft CMS

Vite plugin for Craft CMS 3.x Allows the use of the Vite.js next generation frontend tooling with Craft CMS Related Article: Vite.js Next Generation F

nystudio107 38 Dec 30, 2022
Control frontend access to properties/methods in Livewire using PHP 8 attributes.

This package adds PHP 8.0 attribute support to Livewire. In specific, the attributes are used for flagging component properties and methods as frontend-accessible.

ARCHTECH 83 Dec 17, 2022
Workout application with fully functional Frontend and Backend.

Fit_Me_Application About Application: This FIT-ME management system is an easy way to use gym and health membership system. It can help to keep the re

Talha 3 Feb 20, 2022
todolist app with vueJS frontend and laravel backend

todolist-vuejs-laravel A todolist app with vue.js frontend and laravel backend Demo demo Installation To run this locally, you'll need to clone the re

Isaac Kojo Yeboah 2 May 10, 2022
Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and React as a frontend library.

Symfony React Blank Symfony React Blank is a blank symfony and react project, use this template to start your app using Symfony as an backend api and

Antoine Kingue 2 Nov 5, 2021