0

我有几个相当大的功能,每个只用于一个控制器功能,我想知道把这些放在哪里?他们没有显示任何视图,而是处理一些数字。
如果我没记错的话,我可以在 4 个地方放置这些函数:在我的控制器中、助手中、库中或模型中。但是这些似乎都不合适,因为我不希望每次用户使用控制器时都加载代码,并且模型应该用来做数据库的东西,帮助器和库应该包含可以反复使用的代码再次。

4

2 回答 2

1

如果是业务逻辑,最好把它放在控制器中作为私有方法,然后你可以从控制器内部调用该方法。

请注意,除非您自动加载它们或将它们加载到控制器的构造函数中,否则并不总是加载助手。因此,作为替代方案,您可以将这些方法设为帮助程序,然后将帮助程序加载到您希望使用它们的控制器操作中。这样,它们仅在您需要时才加载。

于 2012-06-29T20:19:43.807 回答
0

CodeIgniter 附带了您可能不会使用的帮助程序(除非您在 application/config/config.php 文件中指定它,否则不会加载)并且我认为只有在存储在那里时才使用的功能(应用程序/帮手)。例如,我可能只使用一次随机密码生成器,但它仍然存在并且不会加载,除非我调用它。

$this->load->helper('my_string_generators');
于 2012-06-29T20:22:31.243 回答