4spacesdk / ci4debugtool
Debug Tool for CodeIgniter 4
Installs: 14 283
Dependents: 4
Suggesters: 0
Security: 0
Stars: 4
Watchers: 4
Forks: 1
Open Issues: 0
Requires
- php: >=7.1
README
Debug tool for Code Igniter 4
Usage
Add a debug message
Data::debug("Some debug message");
Almost everything can be thrown to Data::debug
; simple types, arrays, objects, Entities.
Or set a variable
Data::set("name", $someThing);
Variable can be a simple type or an Entity
of OrmExtension
. Data
will use toArray
or allToArray
on Entity
if supplied by OrmExtension
.
Use Data::getStore()
to get the data and present it. Ex. In your base controller add this in the constructor
Data::set('bench', 0); timer('code-start');
Create a method to print response. Ex
protected function success($code = 200) { $this->response->setStatusCode($code); Data::set('bench', timer()->getElapsedTime('code-start')); $this->response->setJSON(Data::getStore()); $this->response->send(); }
This will give you a nice benchmark on every json response.
Live Template
For fast debugging, add this Live Template to your IDE: Data::debug(get_class($this), "$END$");
.
Code Igniter 4 Error page
To see the debug data in Code Igniter 4 Error page follow these steps
1
Edit app/Views/errors/html/error_exception.php
and add a tab for Data in the list with id #tabs
.
<li><a href="#data">Data</a></li>
2
In the same file add this section under the div with class .tab-content
.
<!-- Data --> <div class="content" id="data"> <pre><code><?=json_encode(\DebugTool\Data::getStore(), JSON_PRETTY_PRINT)?></code></pre> </div>
3 Optional
To top is all up. Go to app/Views/errors/debug.js
and add this at the bottom of init()
-function
// Show last selected tab if(window.localStorage.getItem('lastTab')) { tabLinks[window.localStorage.getItem('lastTab')].click(); }
And add this to showTab()
-function
window.localStorage.setItem("lastTab", selectedId);
This will remember the tab between page reload.