Browse Source

Gestion erreur class not found

Lorsqu'une class n'est pas trouvée, on le signale via une exception.
Avant ce patch, le programme tombait dans une boucle infinie.
refactoring
keun 6 years ago
parent
commit
71c7068f95
1 changed files with 11 additions and 0 deletions
  1. +11
    -0
      common/exts/Import.php

+ 11
- 0
common/exts/Import.php View File

private static $_classMap = []; private static $_classMap = [];
private static $_registered = false; private static $_registered = false;


private static $test_class_not_found = [] ;
/** /**
* Import namespace * Import namespace
* ``` * ```
*/ */
public static function load($class) public static function load($class)
{ {
if(!isset(static::$test_class_not_found[$class]))
static::$test_class_not_found[$class] = 0 ;
static::$test_class_not_found[$class] ++ ;
if(static::$test_class_not_found[$class] > 30) {
throw new \yii\base\ErrorException('Class not found : '.$class) ;
}
if (empty(static::$_paths) && empty(static::$_classMap)) { if (empty(static::$_paths) && empty(static::$_classMap)) {
return; return;
} }

Loading…
Cancel
Save