`

掌握joomla1.5的框架及扩展开发导读系列(三)

阅读更多

   请求和响应

    请求到响应这个处理过程Joomla是怎样处理的呢?

    joomla有个统一的入口地址。

    先进很多框架都采用了这种设计方式,举个简单的例子,这个你有客人要来拜访你的那么,你家有几个入口呢,你可以留正门,后门、侧门、旁门,甚至天窗让客人走呀,这个当然不是一个明智的选择,假如你还需要放看门狗的话,可想而知,每个门还得放上一条,虽然你很有钱(很多有钱人都是这么干的),但是从管理上而言,可以不是一个好办法。那么好吧,我再加上一层只有一个门的围墙,所有拜访我的人都得走这个门,放上一条该死的狗,加上一个引导系统可以引导客人走向不同的门,当然这个引导系统得让客人感觉到方便,能够自动识别客人的身份,会飞走天窗。这样安全和方便全部解决。

   joomla的框架会处理这个问题,不用我们干涉。反正下面一大堆图我都看不到了,跳过吧。

 

   URI结构

   其实joomla的入口就只有一个Index.php,而问好后面的一大串东东成为query data了,由joomla本身解析处理,zend framework的uri以/分开的成为干净的uri,让人看了很舒服,不过joomla可没有这么做,它采用传统的东西。

   index.php?option=com_example这个option是组件的名称,指明由那个组件进行处理。

   nav 菜单那里的链接都是指向各个组件的。

   事实上,joomla还有一个重要的query字符。Itemid,这个指明的唯一的页面。

   而feed则是指明由哪种格式输出。

   重要的task指明要进行何种操作,比如edit,add,delete,只要你指定了option,那么加上task,它就会component中执行这个操作,当然你还需要一个额外的参数。

   joomla的保留uri的query字符有下面这些,你命名自己的uri时候要避免的。保留字有这些:

   format 、hidemainmenu(后台采用)、Itemid、layout 、limit 、limitstart 、no_html、option 、start 、task 、tmpl 、tp 、vars 、view 。

   在我们想输出一个链接的时候,有一个推荐方法Jroute::_('index.php?option=com_example'),那么我们就不需要时刻去注意给uri加上Itemid了(没有Itemid这个指定,你的component的输出可就真的成了不确定因素了),而且用这个还有有助seo优化。

 

   库

   joomla是有非常有用的库的,导入库中的东西你只需用一条类似java中import的命令:jimport,加上一个类地址。

   应该是只有在库目录下的文件才能够使用这个命令的。

   路径从libraries下一层开始,使用 .  隔开。而且jimport也是支持导入所有包中类的,因为它是支持*这个字符的。

   其中pattemplate是joomla使用模板引擎,用的其他的开源的引擎,joomla真是无所不用。

 

   出于兼容性的考虑,joomla还是依然采用的是php4的语法。这个当然让我阅读起来很不爽,只要你确定你用的东西是跑在php5的服务器上,那么用php5,用新的东西还是好的,这句话不全对,起码是部分正确的。

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics