一个系统中控制器是相当重要的,它是实现程序逻辑的关键。
SuiteCRM遵循MVC模式,因此也具有控制器的概念。我们先不管这个系统中的控制器代码该如何编写,最先要做的,是要知道控制器在哪!!!

SuiteCRM系统在使用控制器的时候,首先会查找 custom/module/<模块名>/controller.php这个文件。如果未找到此文件,则会继续查找module/<模块名>/controller.php这个文件。要是这两个文件都没有找到,则将使用默认控制器include/MVC/Controller/SugarController.php

这样我们就知道该从何处下手了,除去默认控制器,还是会有两个控制器文件,首先,我们要了解这两个控制器的区别。

一、custom/module/<模块名>/controller.php

这个地方的控制器,官网说是作用在 预先存在的模块,文件咱们已经知道怎样去建了,那我们的文件内容如何写,类名该如何定义了,下面直接上代码。

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class Custom<模块名>Controller extends SugarController
{public function action_index(){}
}

这里值得注意的是,类名的定义与我们平时用的框架的类名定义是不一样,比如laravel,类名与文件名得是一样的,但这里不是。还有要注意的是方法名的定义,要加上action_作为前缀,有点类似于yii2

二、module/<模块名>/controller.php

这里的就是 定制模块的控制器,就是在后台导入系统中的模块,就可以把对应的控制器写在这里。
这里的控制器内容,和custom下的控制器是有一点点不同的。

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class <模块名>Controller extends SugarController
{public function action_index(){}
}

这里的类名比上一个少了个Custom,方法名的定义是一样的,并且两种控制器都要继承SugarController这个基类。
访问控制器方法的url:<你的域名>/index.php?module=<模块名>&action=<方法名>
到这里,控制器的定义就完成了,下面就可以为所欲为了。

SuiteCRM中的控制器相关推荐

  1. iOS开发中标签控制器的使用——UITabBarController

    iOS开发中标签控制器的使用--UITabBarController 一.引言 与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理 ...

  2. legend3---laravel中获取控制器名称和方法名称

    legend3---laravel中获取控制器名称和方法名称 一.总结 一句话总结: \Route::current()->getActionName();会有完整的当前控制器名和方法名 pub ...

  3. cshtml中引用css_ASP.NET CoreMVC 中的控制器

    Controller in ASP.NET Core MVC 在本节中,我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用. Fiddler 需要大家提前装一 ...

  4. 视图中获取控制器中数据的方式

    在视图中获取控制器中数据的方式有两种: 一种是在控制器的操作中渲染视图时候分配模板数据,这种方式叫推送. 另外一种是在视图中手动获取控制器中的数据,包括控制器中的属性和方法及控制器id,通过$this ...

  5. java中的控制器_SpringMVC基础(一)_控制器

    Spring MVC Spring MVC 基于模型-视图-控制器(Model-View-Controller)模式实现,它能够帮你构建灵活和松耦合的应用程序. 1.Spring MVC的请求追踪 每 ...

  6. 汽车电子电气架构设计中的控制器融合分析

    本文由叶日良,姜立标联合创作 摘要 随着汽车智能化.网联化的发展,整车电器功能愈加丰富,对电子电气架构的设计提出了更高的要求.文章综述了汽车电子电气架构的开发流程和发展趋势,并为架构设计中的控制器融合 ...

  7. php中mvc控制器作用,理解PHP中的MVC编程之控制器

    简单来讲,控制器的作用就是接受请求.它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层.控制器将使用$_GET自动全局变量来判断载入哪一个模块. 一个请求的例子,看起来像这 ...

  8. .ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...

    ASP.NET MVC4数据库操作实例 之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器.方法.模型.视图等.并使用实例进行了简单说明.本文将在此基础上进一步说明如何使用MV ...

  9. iOS 中导航控制器全屏向右滑动返回上一界面

    在iOS中,导航控制器默认就自带了侧滑功能,当用户在界面的左边(左边边缘)滑动的时候,才会有侧滑功能.但是我们往往在开发的过程中需要在屏幕的任意位置滑动,都需要返回到上一个界面. 多说无意,直接看代码 ...

  10. java调用接口失败重试,httpclient接口测试中重试控制器设置

    本人在使用httpclient做接口测试的过程中,之前并没有考虑到请求失败自动重试的情况,但有时又需要在发生某些错误的时候重试,比如超时,比如响应频繁被拒绝等等,在看过官方的示例后,自己写了一个自动重 ...

最新文章

  1. 【搜索专题】DFS之连通性模型与搜索顺序
  2. php 匹配一次,PHP Regex匹配最后一次出现的字符串
  3. [unity3d]导出安卓版设置
  4. 利用脚本批量添加域用户账户
  5. WriteableBitmap process summary
  6. 关于SharePoint解决方案开发模型的凌乱文章…
  7. oracle 11g rac impdp,RAC创建DBlink并使用impdp抽取源库数据
  8. 密码密文 android,Android开发之密码明文密文切换显示
  9. 旅行商问题近似解——NP完全问题
  10. FPGA_电机控制(Verilog)
  11. 在网易游戏的第三年——Jerish的2021总结
  12. Nessus下载失败问题解决
  13. ps链接图层的使用方法和快捷键,ps图层链接怎么做的
  14. 电脑怎么压缩jpg图片?如何压缩照片并保持清晰?
  15. 用join实现交集,并集,差集,补集的效果
  16. 哪些窗体置顶得程序是怎么实现得?
  17. 完全卸载Android Studio的方法
  18. SAP BW/4 HANA基础学习(二)
  19. Android Studio 编译时报文件不能删除,编译失败
  20. java.sql.time 格式_java.sql.Date,java.sql.Time和java.sql.Timestamp什么区别

热门文章

  1. 毕业论文:vrml设计的虚拟校园
  2. 广域网、局域网和城域网(ip城域网和因特网)
  3. C#之CAD二次开发: Ribbon界面初探
  4. 基于Flash的开源网页播放器使用方法(FlowPlayer/AdobePlayer)
  5. Python 文件路径
  6. 《概率论与数理统计》速成
  7. HTML5 Audio时代的MIDI音乐文件播放 .
  8. “计算机组成原理”视频资料(加上全集链接啦)
  9. WPS Office 2005的评议
  10. linux数据库安装