2013-03-28 32 views
0

复制功能,我有一组功能,它是由2个不同的模型[也许在未来更多]所谓 什么是处理这个最好的办法: 1 - 每个模型 重复的2 - 为这些功能创建助手并从每个模型加载该帮助程序 您是否建议使用其他方法创建助手或笨

+0

它们有什么样的功能?你能显示一些代码吗? Helper会工作,基础模型类可以工作,一个新的模型可以工作,一个模型中的静态方法可以工作,一个库可以工作,... –

+1

2 - 为这些函数创建一个助手并从每个模型,以便在相同的情况下减少代码冗余。 – Arvind

+0

@MaximeMorin基本上是一个通知功能和结束。像发送短信/电子邮件 –

回答

0

您可以创建单个模型扩展的基本模型,为它们提供所有共享的祖先。

创建文件application/core/MY_Model.php

class MY_Model extends CI_Model { 

    public function common_method($param) 
    { 
     // Stuff goes here 
    } 
} 

然后,要在使用通用的方法(一个或多个)的任何模型应该简单地扩展MY_Model,而不是CI_Model

请注意,MY_前缀是CI的默认值,但您可以在application/config/config.php文件中更改它。

0

其我的方法我不知道它是否合适。 如果您在整个站点使用此功能,您可以使用这些功能创建该类并将其添加到库中。

如果你喜欢,你也可以自动加载,如果需要。根据您的使用情况。

+0

谢谢..我会查找什么时候创建库和何时创建助手。如果你有一些有用的东西,我会欣赏 –

+1

@iyadalaqel我认为最好的例子是检查[电子邮件帮手](http://ellislab.com/codeigniter/user-guide/helpers/email_helper.html)与[电子邮件库](http://ellislab.com/codeigniter/user-guide/libraries/email.html)。总之,助手是基于程序风格的,而库是基于OOP的。请随时查看这些来源的更多细节。 –