当我们实现了一个Helpers类,我们在这个类中提供的功能需要和他相关的类有所联系。
假设现在我们有一个类 叫做 SomeItem,这个类处理一个项目的实体。如果每一个项目都有一个文件夹,我们就需要去得到一个文件夹列表,这样我们才好使用。
如果我们在SomeItem类中实现一个方法是做这件事,这样就会存在一个问题,因为这个方法是处理不同的实体的。所以,我们需要创建一个Helper类。SomeItemHelper 并且在这个类中定义一个叫做getCategories()的方法,这个方法将会返回一个XHTML的文件夹名称的下拉列表。
那些不依赖其他类的Hlpers通常会和一个特定的扩展或者库相关。许多的核心模块定义了一些Helper类,并且使用这些类来完成一定的任务。
注意,当我们为一个模块创建Helpers类的时候,这里有几天一般性的准则:
下面的列表描述了一些Hlpers类通常需要使用的方法:
- 获得一个项目的列表,通常使用getList()
- 取得或者新建一个数据项目
- 取得或者新建一个数据结构
- 解析数据
- 渲染数据为XHTML,通常使用render()
当我们在组件中使用Helpers类的时候,我们可以用JView类的loadHlper()方法来实现。loadHlper方法将会加载一个helper类,这个类需要满足joomla的命名规范,loadhepler()会在预定的路径下搜寻helpers类的实现文件。默认情况下就是组件根目录下的helpers文件夹。添加其他的路径,可以用addhelperPath()来实现。