示例#1
0
 public function assets()
 {
     return [function () {
         $renderer = $this->debugBar->getJavascriptRenderer();
         $renderer->setOpenHandlerUrl('/open.php');
         $this->debugBar->sendDataInHeaders(true);
         return $renderer->renderHead() . $renderer->render();
     }];
 }
示例#2
0
 /**
  * Constructor
  * @param mixed $options Options for the wrapper and/or debugbar
  * @param StandardDebugBar $debugbar The PHP debug bar object for test mocking
  */
 public function __construct($options = array(), $debugbar = null)
 {
     // set defaults
     $this->options = array_merge(array('enabled' => true, 'base_url' => ''), $options);
     // set debugbar
     // if null, we can assume that the develop wants to use the StandardDebugBar
     // otherwise, we can pass in a mock instance for testing so not too tightly
     // coupled
     if ($debugbar instanceof StandardDebugBar) {
         $this->debugbar = $debugbar;
     } else {
         $this->debugbar = new StandardDebugBar();
     }
     // set renderer
     $this->debugbarRenderer = $this->debugbar->getJavascriptRenderer()->setBaseUrl($this->options['base_url']);
 }
示例#3
0
 /**
  * @param string $autoloadPath
  */
 public function initAjaxDebuger($autoloadPath)
 {
     $uploadDir = $this->getUploadDir();
     $this->initOpenHandler($uploadDir['path'], $autoloadPath);
     $this->setStorage($uploadDir['path']);
     $this->debugBar->getJavascriptRenderer()->setOpenHandlerUrl($uploadDir['url'] . '/open.php');
     $this->debugBar->sendDataInHeaders(true);
 }
 /**
  * Sets up Php Debug Bar
  * @throws \DebugBar\DebugBarException
  */
 private function setDebugging()
 {
     // check debug
     $this->load->config('php_debug_bar', true, true);
     $debugConfig = $this->config->item('php_debug_bar');
     $this->twig->addGlobal('debug', $debugConfig['init_debug_bar']);
     $this->debuggerEnabled = $debugConfig['init_debug_bar'];
     if ($debugConfig['init_debug_bar']) {
         $this->load->helper('url');
         $this->debugBar = new \DebugBar\StandardDebugBar();
         $this->twig->addGlobal('debugger', $this->debugBar->getJavascriptRenderer()->setBaseUrl(base_url() . 'debug/'));
         // attach doctrine hook
         if ($debugConfig['doctrine_hook']) {
             $stack = $this->doctrine->getDebugStack();
             if ($stack) {
                 $this->debugBar->addCollector(new DebugBar\Bridge\DoctrineCollector($stack));
             }
         }
     }
 }
示例#5
0
 /**
  * Add the debugger assets to the Grav Assets
  *
  * @return $this
  */
 public function addAssets()
 {
     if ($this->enabled()) {
         /** @var Assets $assets */
         $assets = $this->grav['assets'];
         // Add jquery library
         $assets->add('jquery', 101);
         $this->renderer = $this->debugbar->getJavascriptRenderer();
         $this->renderer->setIncludeVendors(false);
         // Get the required CSS files
         list($css_files, $js_files) = $this->renderer->getAssets(null, JavascriptRenderer::RELATIVE_URL);
         foreach ($css_files as $css) {
             $assets->addCss($css);
         }
         $assets->addCss('/system/assets/debugger.css');
         foreach ($js_files as $js) {
             $assets->addJs($js);
         }
     }
     return $this;
 }
示例#6
0
文件: debug.php 项目: strikles/php
 function __construct()
 {
     global $debugbar;
     $debugbar = new StandardDebugBar();
     return;
     if (is_admin()) {
         add_action('admin_head', function () use($debugbar) {
             $this->debugbarRenderer = $debugbar->getJavascriptRenderer(get_template_directory_uri() . '/vendor/maximebf/debugbar/src/DebugBar/Resources');
             echo $this->debugbarRenderer->renderHead();
         });
         add_action('admin_footer', function () {
             $this->debugbarRenderer->setOpenHandlerUrl(get_bloginfo('template_url') . '/app/helpers/open.php');
             echo $this->debugbarRenderer->render();
         });
     } else {
         add_action('wp_head', function () use($debugbar) {
             $this->debugbarRenderer = $debugbar->getJavascriptRenderer(get_template_directory_uri() . '/vendor/maximebf/debugbar/src/DebugBar/Resources');
             echo $this->debugbarRenderer->renderHead();
         });
         add_action('wp_footer', function () {
             echo $this->debugbarRenderer->render();
         });
     }
 }
示例#7
0
 public function render($menuContent, $pageContent, $extKey)
 {
     $mainConfig = Config::load('app');
     if ($mainConfig['mode'] === 'development') {
         $debugbar = new StandardDebugBar();
         $debugbarRenderer = $debugbar->getJavascriptRenderer();
         $debugbarHead = $debugbarRenderer->renderHead();
         $debugbarFoot = $debugbarRenderer->render();
     } else {
         $debugbarHead = '';
         $debugbarFoot = '';
     }
     $templates = new Twig_Loader_Filesystem(APP . 'design/themes' . DS . $mainConfig['theme'] . DS . 'templates/ext');
     $skeletons = new Twig_Loader_Filesystem(APP . 'design/skeletons/' . $mainConfig['skeleton']);
     $twigTemplate = new Twig_Environment($templates);
     $twigSkeleton = new Twig_Environment($skeletons);
     $skeleton = $twigSkeleton->loadTemplate($mainConfig['skeleton'] . '.twig');
     $renderedPage = $twigTemplate->render($extKey . '.twig', ['debugbarHead' => $debugbarHead, 'debugbarFoot' => $debugbarFoot, 'menuContent' => $menuContent, 'pageContent' => $pageContent, 'skeleton' => $skeleton]);
     return $renderedPage;
 }
示例#8
0
 public function route($uri = false)
 {
     if (!$uri) {
         if (empty($_SERVER['REDIRECT_URL'])) {
             if (stristr($_SERVER['REQUEST_URI'], '?') !== false) {
                 $uri = stristr($_SERVER['REQUEST_URI'], '?', true);
             } else {
                 $uri = $_SERVER['REQUEST_URI'];
             }
         } else {
             $uri = $_SERVER['REDIRECT_URL'];
         }
     }
     $context = new RequestContext($uri);
     $locator = new FileLocator(array(dirname(__FILE__) . '/../conf'));
     $router = new Router(new PhpFileLoader($locator), 'routes.php', array('cache_dir' => null), $context);
     if (!$uri) {
         $uri = $this->httpRequest->getPathInfo();
     }
     $this->route = $router->match($uri);
     $this->controller = new $this->route['class']($this);
     if (DEBUG_BAR) {
         $this->debugbar->addCollector(new ConfigCollector($this->config));
         $debugbarRenderer = $this->debugbar->getJavascriptRenderer();
         $this->debugbar["messages"]->addMessage("Debug Bar enabled");
         $this->controller->setData('debugbarRenderer', $debugbarRenderer);
     }
     //set action to index is its not set
     if (empty($this->route['action'])) {
         $this->route['action'] = $this->route['_route'] == '/' ? "index" : $this->route['_route'];
     }
     $action = $this->route['action'];
     if (!method_exists($this->controller, $action)) {
         throw new Exception('Method Not found');
     }
     $this->controller->{$action}();
 }
$folder = $includesDir . "/classes";
$files = scandir($folder);
foreach ($files as $filename) {
    if ($filename != "." && $filename != "..") {
        if (strpos($filename, '.php') !== false) {
            require $folder . "/" . $filename;
        }
    }
}
if (DISPLAY_DEBUG) {
    ini_set("display_errors", 1);
    ini_set("log_errors", true);
    error_reporting(E_WARNING && E_ERROR);
    $debugbar = new StandardDebugBar();
    $debugbar->addCollector(new \DebugBar\DataCollector\MessagesCollector('database'));
    $debugbarRenderer = $debugbar->getJavascriptRenderer();
    //Initialize a global $db object (and include the logger) once to lighten memory usage
    $db = new Database($debugbar);
} else {
    ini_set("display_errors", 0);
    ini_set("log_errors", true);
    error_reporting(0);
    //Initialize a global $db object once to lighten memory usage
    $db = new Database();
}
//include all helper functions
$folder = $includesDir . "/helpers";
$files = scandir($folder);
foreach ($files as $filename) {
    if ($filename != "." && $filename != "..") {
        if (strpos($filename, '.php') !== false) {
示例#10
0
文件: Debug.php 项目: Calmacil/GotCm
 public function getRenderer()
 {
     $this->renderer = $this->debugBar->getJavascriptRenderer("/debugbar");
     return $this->renderer;
 }
示例#11
0
 /**
  * DebugBarProvider constructor.
  * @param StandardDebugBar $debugBar
  */
 public function init(StandardDebugBar $debugBar)
 {
     $this->debugBar = $debugBar;
     $this->debugBarRenderer = $debugBar->getJavascriptRenderer();
 }
<?php

include __DIR__ . '/../tests/bootstrap.php';
// for stack data
session_start();
use DebugBar\StandardDebugBar;
$debugbar = new StandardDebugBar();
$debugbarRenderer = $debugbar->getJavascriptRenderer()->setBaseUrl('../src/DebugBar/Resources')->setEnableJqueryNoConflict(false);
//
// create a writable profiles folder in the demo directory to uncomment the following lines
//
// $debugbar->setStorage(new DebugBar\Storage\FileStorage(__DIR__ . '/profiles'));
// $debugbar->setStorage(new DebugBar\Storage\RedisStorage(new Predis\Client()));
// $debugbarRenderer->setOpenHandlerUrl('open.php');
function render_demo_page(Closure $callback = null)
{
    global $debugbarRenderer;
    ?>
<html>
    <head>
        <?php 
    echo $debugbarRenderer->renderHead();
    ?>
        <script type="text/javascript">
            $(function() {
                $('.ajax').click(function() {
                    var container = $(this).parent().html('...');
                    $.get(this.href, function(data) {
                        container.html(data);
                    });
                    return false;