プラグインはフロントコントローラで登録することになるのでクラス定義をフロントコントローラに直書きするか、別のファイルにクラスを書いてそれをフロントコントローラから呼び出す形にするかは自由です。
プラグイン例 [application/controllers/plugins/Foo.php]
フロントコントローラと同じ'Zend/Controller/Front.php'を呼んでいれば、内部で'Zend/Controller/Plugin/Abstract.php'が呼ばれることになります。
フロントコントローラが行うルーティングおよびディスパッチの前後のタイミングで処理を実行するためのメソッドが用意されているので、必要なタイミングで実行されるメソッドを定義することになります。
routeStartup, routeShutdown, dispatchLoopStartup, preDispatch, postDispatch, dispatchLoopShutdownが用意されているメソッドになります。
フロントコントローラ [htdocs/index.php]
registerPlugin()メソッドを使ってプラグインのオブジェクトを登録しています。
フロントコントローラのインスタンスはシングルトンなので、プラグインを定義したファイル内で
Zend_Controller_Front::getInstance()->registerPlugin(new FooPlugin())とすることもできます。