Método de litio desaprobado __init (), debe ser llamado manualmente
Pregunta
Recientemente actualizo la biblioteca de litio y tengo este problema. Recibo este error:
runtimeexception
Deprecated `app\models\StoreCategories::__init()` method, needs to be called it manually.
fuente
/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 }
En el modelo Storecategories, tengo una función 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'));
}
}
}
Yo uso compositor y en las bibliotecas de Boostrap.php, cargué la biblioteca 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') ;
Gracias de antemano.
Solución
Lithium se deshizo de __init () en objetos estáticos, consulte este commit .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow