Joomla源代码解析(十九) JController

来源:互联网 发布:mac粘贴快捷键 编辑:程序博客网 时间:2024/05/16 08:34

同样 JController 是MVC中重要的起点,正式这个类决定的动作的下一步流向,我们来看看表格提交数据的典型的controller的代码:

 function edit() {  JRequest::setVar( 'view', 'hello' );  JRequest::setVar( 'layout', 'form'  );  JRequest::setVar('hidemainmenu', 1);  parent::display(); } /**  * save a record (and redirect to main page)  * @return void  */ function save() {  $model = $this->getModel('hello');  if ($model->store($post)) {   $msg = JText::_( 'Greeting Saved!' );  } else {   $msg = JText::_( 'Error Saving Greeting' );  }  // Check the table in so it can be edited.... we are done with it anyway  $link = 'index.php?option=com_hello';  $this->setRedirect($link, $msg); } /**  * remove record(s)  * @return void  */ function remove() {  $model = $this->getModel('hello');  if(!$model->delete()) {   $msg = JText::_( 'Error: One or More Greetings Could not be Deleted' );  } else {   $msg = JText::_( 'Greeting(s) Deleted' );  }  $this->setRedirect( 'index.php?option=com_hello', $msg ); } /**  * cancel editing a record  * @return void  */ function cancel() {  $msg = JText::_( 'Operation Cancelled' );  $this->setRedirect( 'index.php?option=com_hello', $msg ); }

实际上 controller 跟提交的task参数,调用controller中的不同的函数,当然默认会调用display ,我觉得还需要记住的就是

getModel ,和setRedirect ,其余函数用到再看就可以了。

原创粉丝点击