0

我正在尝试重构我的 Catalyst 应用程序,并且我想为我的控制器引入一个公共基类。这个基本控制器会为每个请求加载一些数据并将一些其他数据放入存储中。我在去藏匿处遇到了一些麻烦。auto简单的解决方案是在基本控制器中实现默认操作。这可行,但我必须记住始终auto在派生控制器中调用 super 。这个很容易忘记,有没有更好的解决办法?换句话说:有没有一种简单的方法来利用派生控制器中不容易破坏的请求处理?

4

1 回答 1

3

我认为你不需要继承来实现你的目标。您可能有其他原因说明继承对您的应用程序来说是一个好主意,但是当其他类组合方法更合适时,继承通常会被过度使用,这似乎是一条规则。

特别是在这种情况下,Catalyst 通过允许您auto在根控制器中指定一个方法来提供此功能,该方法将始终在auto每个请求的更特定控制器的方法之前调用。不需要继承。

于 2009-12-26T18:50:57.307 回答