Report management framework for CodeIgniter 4
MIT License
Report management framework for CodeIgniter 4
> composer require tatter/reports
App/Reports/
> php spark reports:generate
$reports = new \App\Reports\MyReport(); $results = $reports->get();
Provides a concise, non-intrusive framework for writing database reports for CodeIgniter 4
Install easily via Composer to take advantage of CodeIgniter 4's autoloading capabilities and always be up-to-date:
> composer require tatter/reports
Or, install manually by downloading the source files and adding the directory to
app/Config/Autoload.php
.
Once the library is included all the resources are ready to go and you are ready to start
making your report classes. Reports are detected across any namespace so can come from
your App\Reports
namespace or any module under Reports. See ReportInterface
for
requirements when writing a report class.
Once all the report classes are written, use the command-line interface to generate report results:
> php spark reports:generate
Each report class handles checking for missing report values so this command can be run routinely (e.g. by a daily cron).
Load the report class of choice and then pull whatever contents you need using its get()
method. Called without parameters get()
will return all contents straight from the
database. Optionally you may specify criteria to the database query, e.g.:
$results = $reports->get([
'user_id' => 56,
'created_at >=' => '2019-03-01',
]);
Other parameters to get()
allow recursive result grouping (e.g.
$results[user_id][date] => contents
) and ordering of returned content.