2016-09-16 2 views
0

Je commence tout juste à apprendre les fichiers de classe à chargement automatique OOP et PSR-4 dans mon projet. Jusqu'ici tout va bien, mais je compte sur FirePHP. FirePHP fonctionne très bien dans mes principaux scripts, mais si je tente d'utiliser FirePHP dans un fichier de classe ne fonctionne pas du tout:Comment utiliser FirePHP dans les fichiers class.php?

<?php namespace App\cmd; 

class help 
{ 
    public $test = "Test successful!"; 
    function __construct() { 
     FB::info('HELP CLASS WAS CALLED!'); 
    } 
} 

J'ai essayé toutes sortes de façons d'essayer de le faire fonctionner; essayer d'inclure fb.php et ne pas essayer, en ajoutant ob_start(), avec error_handler et sans. Rien ne semble fonctionner.

<?php namespace App\cmd; 
ob_start(); 
require_once($_SERVER['DOCUMENT_ROOT'].'/FirePHPCore/fb.php'); 
set_error_handler('myErrorHandler'); 
set_exception_handler('myExceptionHandler'); 

function myErrorHandler($errno, $errstr, $errfile, $errline) 
    {FB::error($errstr, 'Error number' . $errno . ' in ' . $errfile . ' at ' . $errline);} 

function myExceptionHandler($errno, $errstr, $errfile, $errline) 
    {FB::error($errstr, 'Exception number' . $errno . ' in ' . $errfile . ' at ' . $errline);} 

class help 
{ 
    public $test = "Test successful!"; 
    function __construct() { 
     FB::info('HELP CLASS WAS CALLED!'); 
    } 
} 

Les erreurs que je reçois sont:

PHP Parse error: syntax error, unexpected 'FB' (T_STRING), expecting function (T_FUNCTION) in help.php 

Ou

PHP Fatal error: Class 'App\cmd\FB' not found in help.php 

Je dois faire quelque chose de très stupide, pouvez-vous me dire ce que je dois faire pour utiliser FirePHP en classe des dossiers?

+0

Essayez plutôt d'utiliser \ FB :: info puisque dans une classe vous êtes dans l'espace de noms App \ cmd. – xangxiong

+0

Il s'agit d'une opération de nommage. Vous pouvez essayer d'ajouter un 'use FB;' ou '\ FB :: info()' – Blake

+0

Merci beaucoup, c'était tout! – Tubusy

Répondre

0

Les commentaires étaient corrects, merci. J'ai juste besoin d'espace de noms FirePHP correctement:

<?php namespace App\cmd; 
use \FB as FB; 
class help 
{ 
    public $prop1 = "Command test successful!"; 
    function __construct() { 
    FB::warn('HELP CLASS WAS CALLED!'); 
    } 
}