Вы делаете что-то совершенно бессмысленное. Какой в этом смысл? Вы не остановите себя / других программистов от незаконных операций в слое представления. Возможно, вы не сможете сделать $obj->delete();
, но Doctrine_Query::create()->delete()->from('ObjectTable')->execute();
все еще будет доступен.
Передайте объект в представление и просто не выполняйте над ним такие методы - это то, что вы должны делать