Joomla!1.5 MVC学习札记(一)-----命名约定

         分析Joomla!中组件,模块等可以发现joomla!采用了MVC模式,这次总结的主要是Joomla!中的控制器,模型,视图的命名方式:
oomla!中实现MVC模式,必须继承Joomla!框架中的JController,JView,JModel三个类.因此要加载这三个类.下面以Onlinetest组件前台的默认控制器OnlinetestController为例:
<?php
/*
* Created on 2008-1-28
* Author:zheng'gang(www.sjzri.edu.cn)
* Email:angang523409@tom.com
* com_onlinetest
* package_name
* package_declaration
*/
defined('_JEXEC') or die('Restricted access !');
jimport('joomla.application.component.controller');这句就是加载JController类的语句,很重要!
class OnlinetestController extends JController
{
/*function __construct()
*{
* parent::__construct();
*}
*/

function display()
{
parent::display();
}
}
?>

Onlinetest前台默认视图类如下(文件名及路径:onlinetest/view.html.php):

    <?php
/*
* Created on 2008-1-28
* Author:zheng'gang(www.sjzri.edu.cn)
* Email:angang523409@tom.com
* com_onlinetest
* package_name
* package_declaration
*/

defined('_JEXEC') or die('Restricted access !');
jimport('joomla.application.component.view');这句就是加载JView类的语句,很重要!
class OnlinetestViewOnlinetest extends JView
{
function display($tmpl=null)
{
$model=$this->getModel();
$greeting = $model->getWelcomeMessage();
$this->assignRef( 'greeting', $greeting );
parent::display($tmpl);
 
}
}
?>

Onlinetest前台默认模型类如下(文件名及路径:models/onlinetest.php):

  <?php
/*
* Created on 2008-1-28
* Author:zheng'gang(www.sjzri.edu.cn)
* Email:angang523409@tom.com
* com_onlinetest
* package_name
* package_declaration
*/

defined('_JEXEC') or die('Restricted access !');
jimport('joomla.application.component.model');这句就是加载JModel类的语句,很重要!
class OnlinetestModelOnlinetest extends JModel
{
function getWelcomeMessage()
{
$db =& JFactory::getDBO();
$query = 'SELECT message FROM #__onlinetest';
$db->setQuery($query);
$greeting = $db->loadResult();
return $greeting;
}
}
?>

综上可知:加载这三个类,应相应加入下面的语句:

jimport('joomla.application.component.controller');//控制器类
jimport('joomla.application.component.model');//模型类
jimport('joomla.application.component.view');//视图类

Joomla!中mvc模式中的命名约定(个人理解)如下:

默认控制器文件名都是controller.php,进入mvc模式的文件名为:(前台)组件名.php,(后台)admin.组件名.php.
例如onlinetest组件的前后台进入mvc模式的文件名为:onlinetest.php,admin.onlinetest.php.具体可以看上面的截图.
 接下来是视图组织,在前台中建立文件夹Views(具体见上图),在这个文件下建好各种视图的文件夹.

如onlinetest组件的视图有onlinetest,choose,cal,blink,answer,
因此在views文件夹下建立onlinetest,choose,cal,blink,answer各自的文件夹.
再在各个视图文件夹下建立tmpl文件夹和view.html.php(每个视图类定义所在的位置).
具体看上面的截图.在view,html.php中定义的视图类采用如下的命名约定:组件名+"View"+视图名

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值