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.

Était-ce utile?

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
scroll top