前一节中讲述了怎样安装一个空的joomla组件,在这一节中,我们将会看到组件在前台的输出。并且初步探究组件的执行流程。
在前面已经开发了一个可以安装的组件。那么我们应该怎样在前台访问这个组件呢?
前台访问组件
在前台输入index.php?option=com_guestbook就可以访问组件了。
我在浏览器地址栏输入:localhost/j25/index.php?option=com_guestbook.
下面是执行的截图:
输出了一个空白的页面。
分析输出结果
分析一下输出结果。一个空白的页面,注意不是404页面,说明我们组件成功执行了。但为什么是空白的呢?这是因为我们的guestbook.php文件为空。
现在我们修改一下guestbook.php文件的内容:
echo "welcome to zmax99.com";
新的输出结果:
屏幕上输出了 “welcome to zmax99.com”
再 次证明了我们的组件成功执行了。这个也告诉我们,组件执行的效果就是guestbook.php这个php文件执行的效果。更进一步的讲,你可以在 guestbook.php文件中输出任何你想要输出的信息。比喻说:输出一个表单,从数据库读取数据,然后输出。这都是可以的。你可以完全当作他是一个 普通的PHP文件来用。就拿我们的留言板组件来说,我们可以在guestbook.php文件中输出一个留言的表单。(但作为一个joomla高手,是不会这样用guestbook.php这个文件的)
分析在浏览器中输入的地址
好的,再来分析一些我们输入的地址:localhost/j25/index.php?option=com_guestbook
当浏览器收到这个链接的时候,会首去执行j25(网站的根目录)这个目录下的index.php这个文件,并且传递参数option=com_guestbook.
index.php 是网站的入口点文件。每一个joomla网站的页面请求都是从这个文件开始执行的。joomla网站是一个典型的单入口程序。option这个变量是 joomla系统内部定义的一个变量。这个变量代表这你要执行的是哪一个组件。还有一些其他的变量如controller,这个表示控制器。task:表 示要执行的任务。
在这里我不想深入研究index.php这个文件的执行细节。下面是大体的执行流程:页面请求开始---->执行 index.php文件--->在index.php文件中分析URL中的字段option--->根据option的值确定执行那一个组件 --->进入组件---->执行组件的入口点文件。
将”localhost/j25 /index.php?option=com_guestbook“翻译一下就是:用户请求localhost/j25 /index.php?option=com_guestbook这个页面,joomla开始执行index.php这个文件。在index.php文件 中,joomla检查option参数,发现option=com_guestbook。joomla知道要执行的组件是guestbook。开始执行这 个组件的入口点文件guestbook.php。当guestbook.php文件执行完成,这个组件的执行就完成了。我们在前台看到的就是 guestbook这个组件执行的结果。
到此,前台的执行流程就介绍完毕。如果不清楚。可以查看本网站的文章《Joomla内核执行流程》。
在下一节中我们将深入的介绍一个完整的Joomla组件,前台页面的请求过程。精彩内容敬请期待。
于2014-11-06日改:上面的输出其实也是符合MVC的,只是大部分的内容系统都帮我们处理了。所以感觉只是执行了guestbook.php这个文件。对于新手,请忽略这个修改。
评论 (0)