para qué estáticas?? Y porque no lo guardas en una base de datos y respecto a lo ejecutar una funcion antes pues puedes hacer algo como
Código PHP:
Ver originalpublic static function agregarProducto($params){
if(// alguna condicion para ver si se inicializo//){
self::inicializarCarrito();
}
// demás código del metodo
}