Documentation/UsagePhp/Index.rst
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _usage:
Usage inside the PHP code
=========================
Main analytic function
^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: php
krexx($myObject);
// Or inline.
json_encode(krexx($myObject));
|
.. figure:: ../Images/main_function.png
:width: 678px
:alt: analysis of an extbase query result
Forced logging
^^^^^^^^^^^^^^
Force kreXX to write the analysis into a logfile:
.. code-block:: php
// Force kreXX to write an analysis into a log file.
krexxlog($myObject);
// Force kreXX to write a backtrace into a log file
\Krexx::logBacktrace();
// Force the timer output into a log file
\Krexx::logTimerEnd();
Wen using the forced logging, the following things will happen:
- Output destination is set to file by force.
- Ajax requests will get logged by force.
Benchmarking
^^^^^^^^^^^^
.. code-block:: php
\Krexx::timerMoment('get all rows');
$notixxes = $this->notixxRepository->findAll();
\Krexx::timerMoment('assign rows to view');
$this->view->assign('notixxes', $notixxes);
\Krexx::timerEnd();
|
.. figure:: ../Images/Usage/timer.png
:width: 624px
:alt: benchmarking result
Backtrace
^^^^^^^^^
.. code-block:: php
\Krexx::backtrace();
|
.. figure:: ../Images/Usage/backtrace.png
:width: 934px
:alt: kreXX backtrace
Exception handler
^^^^^^^^^^^^^^^^^
.. code-block:: php
// register the exception handler
\Krexx::registerExceptionHandler();
// call undefined function to cause an error
undefinedFunctionCall();
// unregister the exception handler
\Krexx::unregisterExceptionHandler();
|
.. figure:: ../Images/Usage/error_handler.png
:width: 1049px
:alt: kreXX error handler
Scope analysis
^^^^^^^^^^^^^^
Often enough a kreXX call will look like this:
.. code-block:: php
krexx($this);
Analysing :literal:`$this` means, that all protected and private values and methods are reachable from this point inside the code. When kreXX notices this, it will analyse all reachable variables and methods of this class.