aboutsummaryrefslogtreecommitdiffstats
path: root/include/classes/BigPipe/BigPipe.php
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2018-01-16 17:03:22 +0100
committerThomas Lange <code@nerdmind.de>2018-01-16 17:03:22 +0100
commit7c02cc7dee9d3b0440c4ccabc18762e8b87d1e24 (patch)
tree61764782518992a5c298c458cbadbea013b9730a /include/classes/BigPipe/BigPipe.php
parentb20d9dcac191fadc671da69f0a82ab7065554ca6 (diff)
downloadbigpipe-7c02cc7dee9d3b0440c4ccabc18762e8b87d1e24.tar.gz
bigpipe-7c02cc7dee9d3b0440c4ccabc18762e8b87d1e24.tar.xz
bigpipe-7c02cc7dee9d3b0440c4ccabc18762e8b87d1e24.zip
Use seperate classes for debugging
The debug mechanism has been changed. Instead of keeping the debug mechanism hardcoded within the core classes, it's now possible and recommended to use the seperate debugging classes which you can modify like you want. Those classes inherit their associated core classes and can add some debugging stuff. This has the advantage of having a clean core code without any debugging stuff. If the debug classes are not used then they shall not be included and their code will not be initialized.
Diffstat (limited to 'include/classes/BigPipe/BigPipe.php')
-rw-r--r--include/classes/BigPipe/BigPipe.php56
1 files changed, 3 insertions, 53 deletions
diff --git a/include/classes/BigPipe/BigPipe.php b/include/classes/BigPipe/BigPipe.php
index ab8c8f7..c5f33e3 100644
--- a/include/classes/BigPipe/BigPipe.php
+++ b/include/classes/BigPipe/BigPipe.php
@@ -11,9 +11,8 @@
namespace BigPipe;
class BigPipe {
- private static $debugging = FALSE;
- private static $enabled = TRUE;
- private static $pagelets = [];
+ private static $enabled = TRUE;
+ private static $pagelets = [];
#===============================================================================
# Enable or disable the pipeline mode
@@ -27,17 +26,6 @@ class BigPipe {
}
#===============================================================================
- # Return if debugging is enabled or change
- #===============================================================================
- public static function debugging($change = NULL): bool {
- if($change !== NULL) {
- self::$debugging = (bool) $change;
- }
-
- return self::$debugging;
- }
-
- #===============================================================================
# Insert pagelet into queue
#===============================================================================
public static function enqueue(Pagelet $Pagelet) {
@@ -55,15 +43,6 @@ class BigPipe {
# Prints a single pagelet response
#===============================================================================
private static function singleResponse(Pagelet $Pagelet, $last = FALSE) {
- if(self::debugging()) {
- self::addDebugPhaseDoneJS($Pagelet);
-
- array_map('self::addDebugPhaseDoneJS', $Pagelet->getResources()[Resource::TYPE_STYLESHEET]);
- array_map('self::addDebugPhaseDoneJS', $Pagelet->getResources()[Resource::TYPE_JAVASCRIPT]);
-
- usleep(rand(125, 175) * 2000);
- }
-
$pageletJSON = $Pagelet->getStructure();
if($last) {
@@ -73,7 +52,7 @@ class BigPipe {
$pageletHTML = removeLineBreaksAndTabs($Pagelet->getHTML());
$pageletHTML = str_replace('--', '&#45;&#45;', $pageletHTML);
- $pageletJSON = json_encode($pageletJSON, (self::debugging() ? JSON_PRETTY_PRINT : NULL));
+ $pageletJSON = json_encode($pageletJSON);
echo "<code hidden id=\"_{$Pagelet->getID()}\"><!-- {$pageletHTML} --></code>\n";
echo "<script>BigPipe.onPageletArrive({$pageletJSON}, document.getElementById(\"_{$Pagelet->getID()}\"));</script>\n\n";
@@ -127,34 +106,5 @@ class BigPipe {
}
}
}
-
- #===============================================================================
- # Add PhaseDoneJS for debugging Pagelet and Resource
- #===============================================================================
- private static function addDebugPhaseDoneJS($Instance) {
- $objpath = str_replace('\\', '|', get_class($Instance));
-
- if($Instance instanceof Pagelet) {
- $message = "console.log(\"%%c[{$objpath}]%%c#(%%c%s%%c): PhaseDoneJS for phase: %s\", \"font-weight:bold\", \"color:#666\", \"color:#008B45\", \"color:#666\")";
-
- $Instance->addPhaseDoneJS($Instance::PHASE_INIT, sprintf($message, $Instance->getID(), 'INIT'));
- $Instance->addPhaseDoneJS($Instance::PHASE_LOADCSS, sprintf($message, $Instance->getID(), 'LOADCSS'));
- $Instance->addPhaseDoneJS($Instance::PHASE_HTML, sprintf($message, $Instance->getID(), 'HTML'));
- $Instance->addPhaseDoneJS($Instance::PHASE_LOADJS, sprintf($message, $Instance->getID(), 'LOADJS'));
- $Instance->addPhaseDoneJS($Instance::PHASE_DONE, sprintf($message, $Instance->getID(), 'DONE'));
-
- return $Instance;
- }
-
- if($Instance instanceof Resource) {
- $message = "console.log(\"[{$objpath}]%%c#(%%c%s%%c): PhaseDoneJS for phase: %s\", \"color:#666\", \"color:#008B45\", \"color:#666\")";
-
- $Instance->addPhaseDoneJS($Instance::PHASE_INIT, sprintf($message, $Instance->getID(), 'INIT'));
- $Instance->addPhaseDoneJS($Instance::PHASE_LOAD, sprintf($message, $Instance->getID(), 'LOAD'));
- $Instance->addPhaseDoneJS($Instance::PHASE_DONE, sprintf($message, $Instance->getID(), 'DONE'));
-
- return $Instance;
- }
- }
}
?> \ No newline at end of file