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?
Essayez plutôt d'utiliser \ FB :: info puisque dans une classe vous êtes dans l'espace de noms App \ cmd. – xangxiong
Il s'agit d'une opération de nommage. Vous pouvez essayer d'ajouter un 'use FB;' ou '\ FB :: info()' – Blake
Merci beaucoup, c'était tout! – Tubusy