如果我有很多字符串函数,我应该把它们放在帮助器类或库类中吗?
函数如:截断字符串,如果超过30个字符,返回一个随机字符串,使所有小写字母等等。这些是我可能不需要为其创建对象的函数。最好将它们用作静态方法。
我应该把它们放在库类或帮助器类中吗?
我何时知道何时放在哪里?
答案 0 :(得分:13)
助手是帮助已经存在的东西的类,例如可以有一个助手:
<强>阵列
串
网址
等强>
图书馆可以是任何解决方案;它可能是你第一次创建而没有其他人创建过。
因为你正在处理一个字符串(已存在的东西),你应该把它放在一个帮助器类中,或者修改框架的字符串helper类(如果有的话)。但是,这是一个约定或标准,但如果你正在为一些函数创建一些非常酷的字符串处理,你也可以为它创建一个库。
答案 1 :(得分:11)
除了manual解释这些一切都很好......
库:对象状态很重要的实用程序类(支付网关,身份验证等)
helpers:执行重复任务(字符串,数组等)的相关函数(不是类)的集合
插件:放入第三方类的简单方法。通常,使用单个包装函数调用整个过程。 (在即将推出的CodeIgniter 2.0版中已弃用。)
答案 2 :(得分:4)
我假设您正在使用CodeIgniter。
既然你已经写过你不需要实例化一个对象并且会在它的静态方法中使用它,那么将它变成helper将比将它变成库更有意义。
在CI中,也管理帮助程序,一旦加载,第二次加载它的尝试将被省略。您可以在帮助程序中打开CI的构建以了解它的作用,然后将其与库进行比较。通过了解目的,您可以决定自己,帮助者或图书馆。
答案 3 :(得分:2)
Helper是用户定义或预定义函数的集合,不需要实例化库以及类需要实例化以使用它们。库也可能包含用户定义和预定义的函数/方法。库(类)中定义的函数称为方法!
答案 4 :(得分:1)
如果我有很多字符串函数,我应该把它们放在帮助器类或库类中吗?
如果它们是功能,你为什么要把它们放在课堂上? PHP允许自由浮动函数。