Joomla开发最佳实践

来源:互联网 发布:梦幻西游mac安装打不开 编辑:程序博客网 时间:2024/05/16 06:57

https://docs.joomla.org/Development_Best_Practices


1、通用开发原则

  • JInput或者JFactory::getApplication()->input 代替$_GET, $_POST, $_REQUEST, $_FILES and $_SERVER来获取输入
  • 不要硬编码SQL语句,用JDatabase / JDatabaseQuery,或者JFactory::getDbo()->getQuery(true)
  • 不要留直接通过web访问的入口,用组件或者插件
  • 有现成的类,就不要重新写
  • 数据库的表名一定要醒目,如果你的组件叫com_foobar,表名:
  • // Good #__foobar_something  // Bad #__fbr_something   //Really Bad! #__something
  • 文本用JText 而不是硬编码
  • 在实际应用中用实际的数据测试,你会惊讶你的发现的

2、组件的Javascript,CSS,和Image放在什么地方

根目录下有个media文件夹

如果在安装的XML配置中,把文件放在<media>标签下,而不是<files>标签下,那么就将被放到JPATH_ROOT/media文件夹中

如果是<media destination="com_foo"> ,就会被放在JPATH_ROOT/media/com_foo中

引用这些文件应该使用JHtml 类中的imagescript, and stylesheet方法,而不是JDocument 或者硬编码

3、组件产生的文件放在什么地方?

取决于文件的属性,有2个决定性的因素:

  • 文件的持久性
  • 文件的部署:是否能通过web获取

几种可能:

  • 临时的,不可网络获取。Joomla!的临时文件夹,通过JFactory::getConfig()->get('tmp_path')获取
  • 临时的,可网络获取。不可接受
  • 缓存,不可网络获取。JPATH_CACHE 缓存目录。
  • 缓存,网络获取。media文件夹的二级目录。
  • 永久的,不可网络获取。扩展主目录中的文件夹。使用.htaccess或通过用户权限设置。
  • 永久的,可网络获取。media文件夹的二级目录。

如果还想操作log文件的话,用JLog 类。


4、关于Javascript

当内嵌Javascript到Joomla!页面时,要小心与其他扩展的Javascript相互作用。好的习惯包括:

  • 用分号或者换行结尾
  • 确定有效,没有错误
  • 对于有风险的,一定要用 try/catch块
  • 要在view模板而不是view类(view.html.php)中使用内嵌Javascript

其他的包括:

  • 不要修改JQuery,mooTools或者任何Joomla!Javascript代码中的核心对象。实在要改,用子类
  • 别改其他开发者的代码



0 0
原创粉丝点击