在编码点火器中放置大量很少使用的功能的位置


Where to put big, rarely used functions in codeigniter

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

如果是业务逻辑,最好将其作为私有方法放在控制器中,则可以从控制器内部调用该方法。

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

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

$this->load->helper('my_string_generators');