Keeping your listeners in order

A couple of days ago I blogged about how Doctrine's SoftDelete behavior can keep other listeners' preDelete() hooks from firing; after a bit of coding this morning, I believe I have a solution.

In my initial setup, I had applied the SoftDelete behavior in the model itself via the following YAML config:


Then, in my Zend_Application bootstrap, I was assigning my ACL listener like so:


When is a DELETE not a DELETE?

In my recent post on using Zend_Acl with Doctrine record listeners, I described a way to automate a Doctrine-based application's access control logic based on certain event hooks in Doctrine's record listener system. I still think it's a fairly elegant approach, but as I've been working with it, I discovered one behavior I didn't quite expect.


Using Zend_Acl with Doctrine record listeners

Zend_Acl is a very powerful tool to help manage access control logic, but it can be a bit difficult to determine exactly where and how to use it.

In previous Zend Framework apps I've written, I often handled access control at the level of the controller action. Each action was represented in the ACL as a resource, and the ACL logic was applied by a custom plugin just prior to any action dispatch.


Building a new blog

Although I've loved using Wordpress for the duration of this blog, recently I've been working on a custom replacement blog platform that I can host and maintain myself. This probably sounds odd, especially since there are already so many excellent blogging platforms available, but I've pushed ahead with it for a couple of reasons I think most developers will understand:


DallasPHP, November 2009: Doctrine

Last night I had the pleasure of attending the November meeting of the DallasPHP user group; I've only attended sporadically so far due to how far away I live, but I decided I definitely needed to go to this one: they were talking about the Doctrine ORM, which is the database library behind this blog, and fast becoming one of my favorite open source tools.