PHPライブラリのRulerっていうのが面白いです。
http://jwage.com/post/31292541379/ruler-a-simple-stateless-production-rules-engine
冗長になりがちな複雑な条件を、RuleBuilderインスタンスが判定を肩代わりしてくれます。
コードも対話的な仕上がりになるのでとても読みやすく、何よりコードの冗長性を低くして全体的な可読性の向上が期待できます。
小規模なものならさておき、NC程の中規模なプロジェクトになると多くの恩恵を受けられそうです。