Наследую класс:
class MyAudit extends \Audit{
//переопределяю родительскую константу
const UA_Mobile = 'android|blackberry|phone|ipod|palm|windows\s+ce|BB10';
}
В итоге от моего переопределения нет никакого эффекта, родительский метод продолжает использовать свою константу.
Вот функция родительского класса, для которой я все эти махинации провожу, т.к не хочу вмешиваться в ядро фреймворка.
function ismobile($agent=NULL) {
if (!isset($agent))
$agent=Base::instance()->get('AGENT');
return (bool)preg_match('/('.self::UA_Mobile.')/i',$agent);
}