lithium Méthode __init() obsolète, doit être appelée manuellement
Question
J'ai récemment mis à jour la bibliothèque lithium et j'ai ce problème.J'obtiens cette erreur :
Exception d'exécution
Deprecated `app\models\StoreCategories::__init()` method, needs to be called it manually.
Source
/works/minhna/public_html/CMP/V0/libraries/lithium/core/Libraries.php :505
500
501 if ($path && include $path) {
502 static::$_cachedPaths[$class] = $path;
503 if (method_exists($class, '__init')) {
504 $msg = "Deprecated `{$class}::__init()` method, needs to be called it manually.";
505 throw new RuntimeException($msg);
506 }
507 } elseif ($require) {
508 throw new RuntimeException("Failed to load class `{$class}` from path `{$path}`.");
509 }
510 }
Dans le modèle StoreCategories, j'ai une fonction simple
public static function __init(array $options = array()){
static::config($options);
static::applyFilter('save', function ($self, $params, $chain) {
if(!$params['entity']->_id){
//set created date
$params['entity']->created = strtotime(gmdate('Y-m-d H:i:s'));
}
}
}
J'utilise composer et dans le boostrap library.php, je charge la librairie li3_socialauth :
/**
* load the socialauth library
*/
Libraries::add('li3_socialauth');
// Add the composer autoloader if not already done
require_once(LITHIUM_LIBRARY_PATH . '/autoload.php') ;
Merci d'avance.
La solution
Lithium s'est débarrassé de __init() dans les objets statiques, voir cet engagement.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow