ThinkPHP大写单字母函数

合集下载

php大小写转换函数(strtolower、strtoupper)用法介绍

php大小写转换函数(strtolower、strtoupper)用法介绍

php⼤⼩写转换函数(strtolower、strtoupper)⽤法介绍1,将字符串转换成⼩写strtolower函数: 该函数将传⼊的字符串参数所有的字符都转换成⼩写,并以⼩定形式放回这个字符串。

例⼦:<?php$str = "I want To FLY";$str = strtolower($str);echo $str;//by >输出:i want to fly2,将字符转成⼤写strtoupper函数:该函数的作⽤同strtolower函数相反,是将传⼊的字符参数的字符全部转换成⼤写,并以⼤写的形式返回这个字符串。

⽤法同strtolower()⼀样。

下⾯再介绍⼆个很有⽤的函数。

3,将字符串⾸字符转换成⼤写ucfirst函数:该函数的作⽤是将字符串的第⼀个字符改成⼤写,该函数返回⾸字符⼤写的字符串。

⽤法同strtolower()函数类似。

4,将字符串每个单词的⾸字符转换成⼤写ucwords:该函数将传⼊的字符串的每个单词的⾸字符变成⼤写。

如"hello world",经过该函数处理后,将返回"Hello Word"。

⽤法同strtolower()类似。

重点看下最常⽤的这⼏个函数在编写PHP程序时,经常会需要对⼀些字符串进⾏⼤⼩写转换,下⾯是⼏个最常⽤的函数strtolower() //将字符串转换为⼩写形式strtoupper() //将字符串转换为⼤写形式ucfirst() //将字符串的第⼀个字符转换为⼤写形式ucwords() //将字符串中每⼀个单词的⾸字母转换为⼤写形式总结以上所述是⼩编给⼤家介绍的php⼤⼩写转换函数(strtolower、strtoupper)⽤法介绍,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

在此也⾮常感谢⼤家对⽹站的⽀持!。

在ThinkPHP中有许多使用简便的单字母函数

在ThinkPHP中有许多使用简便的单字母函数

在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找。

1.U() URL组装支持不同URL模式U($url='',$vars='',$suffix=true,$domain=false)@param string $url URL表达式,格式:'[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...'@paramstring|array $vars 传入的参数,支持数组和字符串@param string $suffix 伪静态后缀,默认为true表示获取配置值@paramboolean $domain 是否显示域名@return string2.D() D函数用于实例化模型类格式 [资源://][模块/]模型D($name='',$layer='')@param string $name 资源地址@param string $layer 模型层名称@return Model3.M() M函数用于实例化一个没有模型文件的ModelM($name='',$tablePrefix='',$connection='')@param string $name Model名称支持指定基础模型例如MongoModel:User@param string $tablePrefix 表前缀@param mixed $connection 数据库连接信息@return Model4.I() 获取输入参数支持过滤和默认值I($name,$default='',$filter=null)使用方法:I('id',0); //获取id参数自动判断get或者postI('','','htmlspecialchars'); //获取$_POST['name']I('get.'); //获取$_GET5.B() 执行某个行为B($name,$tag='',&$params=NULL)@param string $name 行为名称@param string $tag 标签名称(行为类无需传入)@param Mixed $params 传入的参数@return void6.C() 读取及设置配置参数C($name=null,$value=null,$default=null)@paramstring|array $name 配置变量@param mixed $value 配置值@param mixed $default 默认值@return mixed7.E() 抛出异常处理E($msg, $code=0)@param string $msg 异常消息@param integer $code 异常代码默认为0@return void8.G() 记录和统计时间(微秒)和内存使用情况G($start,$end='',$dec=4)使用方法:G('begin'); // 记录开始标记位// ... 区间运行代码G('end'); // 记录结束标签位echo G('begin','end',6); //统计区间运行时间精确到小数后6位 echo G('begin','end','m'); // 统计区间内存使用情况如果end标记位没有定义,则会自动以当前作为标记位其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效@param string $start 开始标签@param string $end 结束标签@paraminteger|string $dec 小数位或者m@return mixed9.L()获取和设置语言定义(不区分大小写)L($name=null,$value=null)@paramstring|array $name 语言变量@param mixed $value 语言值或者变量@return mixed10.T()获取模版文件格式资源://模块@主题/控制器/操作T($template='',$layer='')@param string $name 模版资源地址@param string $layer 视图层(目录)名称@return string11.N() 设置和获取统计数据N($key,$step=0,$save=false)使用方法:N('db',1); // 记录数据库操作次数N('read',1); // 记录读取次数echo N('db'); // 获取当前页面数据库的所有操作次数echo N('read'); // 获取当前页面读取次数@param string $key 标识位置@param integer $step 步进值@return mixed12.A()A函数用于实例化控制器格式:[资源://][模块/]控制器A($name,$layer='',$level='')@param string $name 资源地址@param string $layer 控制层名称@param integer $level 控制器层次@return Controller|false13.R() 远程调用控制器的操作方法URL 参数格式 [资源://][模块/]控制器/操作R($url,$vars=array(),$layer='')@param string $url 调用地址@paramstring|array $vars 调用参数支持字符串和数组 @param string$layer 要调用的控制层名称@return mixed14.W()渲染输出WidgetW($name,$data=array())@param string $name Widget名称@param array $data 传入的参数@return void15.S()缓存管理S($name,$value='',$options=null)@param mixed $name 缓存名称,如果为数组表示进行缓存设置 @param mixed $value 缓存值@param mixed $options 缓存参数@return mixed16.F() 快速文件数据读取和保存针对简单类型数据字符串、数组F($name, $value='',$path=DATA_PATH)@param string $name 缓存名称@param mixed $value 缓存值@param string $path 缓存路径@return mixed。

wps首字母大写其余字母小写的函数

wps首字母大写其余字母小写的函数

WPS首字母大写其余字母小写的函数随着WPS办公软件在各行各业中的广泛应用,越来越多的用户对WPS的函数有着更深入的需求。

其中,有一类常用函数是将字符串的首字母大写,其余字母小写,以符合常见的标题格式要求。

在WPS中,如何实现这一功能已成为用户关注的焦点之一。

一、问题定义在实际的工作中,我们往往需要将一段文字或标题进行格式化,其中之一就是将标题的首字母大写,而其他字母保持小写。

这种需求在编辑文章、整理数据时非常常见,因此需要一个简便而有效的方法来实现这一操作。

二、WPS的函数介绍WPS作为一款功能强大的办公软件,提供了丰富的函数库,可以满足用户在处理数据、编辑文档中的各种需求。

针对将字符串的首字母大写,其余字母小写的操作,WPS也提供了相应的函数来实现。

在WPS的函数库中,可以使用proper函数来实现这一目的。

该函数的语法如下:=PROPER(text)其中,text为要进行首字母大写的字符串。

三、函数的使用示例下面来举一个例子说明如何使用WPS中的proper函数来将字符串的首字母大写,其余字母小写。

假设有一个字符串"hello world",我们需要将其格式化为"Hello world",那么可以在一个空白单元格中输入以下公式:=PROPER("hello world")然后按下回车键,即可得到格式化后的结果。

四、注意事项在使用WPS中的proper函数时,需要注意以下几点:1. proper函数只会将每个词的首字母大写,其他字母小写,因此在本身已经符合要求的字符串中使用该函数,可能会出现错误的结果。

2. proper函数不会改变原始字符串的数据,只是返回格式化后的结果,因此需要将其结果赋值给新的单元格或者覆盖原来的数据。

3. 在实际使用中,可以将proper函数应用到多个单元格,实现批量格式化的操作。

五、总结WPS的proper函数提供了一个简单而方便的方法,可以快速将字符串的首字母大写,其余字母小写,以满足各种文本格式化的需求。

thinkphp 表名 大小写 窍门

thinkphp 表名 大小写 窍门

thinkphp 表名大小写窍门
在ThinkPHP中,数据库表名的大小写处理是根据数据库的不同而有所不同。

一般来说,MySQL 在处理表名时是不区分大小写的,而其他一些数据库系统可能是区分大小写的。

为了在不同数据库系统上保持一致性,可以采取以下一些建议:
1. 统一使用小写:
-为了避免在不同数据库系统上出现大小写不一致的问题,建议在ThinkPHP中使用小写字母来命名数据库表。

2. 配置数据库连接参数:
-在ThinkPHP的数据库配置文件(通常是`database.php`)中,可以设置数据库连接参数。

确保在配置文件中使用小写的数据库表名。

```php
'params' => [
\PDO::ATTR_CASE => \PDO::CASE_LOWER,
],
```
上述配置会将数据库表名转换为小写,以保持一致性。

3. 使用驼峰命名规则:
-尽量使用驼峰命名规则,这样可以更好地和ThinkPHP的命名规范保持一致。

例如,表名为`user_info`,可以在模型中使用`UserInfo`来表示。

4. 手动设置表名:
-在ThinkPHP的模型中,你也可以手动设置表名,以确保一致性。

```php
protected $table = 'my_table';
```
在模型中设置表名,可以覆盖模型名称对应的默认表名。

总体而言,主要的建议是使用小写字母,并尽量保持一致性。

这样可以减少在不同数据库系统之间出现的潜在问题。

在实际开发中,最好查看数据库的大小写敏感性,以便根据需要进行相应的调整。

php的转大写函数

php的转大写函数

php的转大写函数
PHP中有一个内置函数可以用来将字符串转换为大写,那就是strtoupper() 函数。

这个函数接受一个字符串作为参数,并返回一个新的字符串,其中所有的字母都被转换为大写形式。

这个函数非常简单易用,只需要将需要转换的字符串作为参数传入即可。

下面是一个简单的示例:
$str = "hello, world!";
$upper_str = strtoupper($str);
echo $upper_str;
在这个例子中,变量 $str 中的字符串 "hello, world!" 会被转换为大写形式,并且通过 echo 输出出来。

这个函数在处理大小写不敏感的字符串时非常有用,比如在进行字符串比较时,可以先将字符串统一转换为大写或小写形式,再进行比较,以避免大小写不一致导致的问题。

需要注意的是,strtoupper() 函数只会将字符串中的字母字符
转换为大写形式,其他字符(如数字、标点符号等)不会受到影响。

另外,这个函数不会改变原始字符串,而是返回一个新的转换后的
字符串。

因此,如果需要保留转换后的字符串,需要将转换后的结
果赋值给一个新的变量。

总之,PHP中的 strtoupper() 函数是一个非常实用的函数,
可以方便地将字符串转换为大写形式,适用于各种字符串处理的场景。

thinkphp3.2离线文档解读

thinkphp3.2离线文档解读

∙序言∙基础o获取ThinkPHPo环境要求o目录结构o入口文件o自动生成o模块o控制器o开发规范∙配置o配置格式o配置加载o读取配置o动态配置o扩展配置o批量配置∙架构o模块化设计o URL模式o多层MVCo CBD模式o命名空间o自动加载o应用模式o项目编译o系统流程∙路由o路由定义o规则路由o正则路由o静态路由o闭包支持o实例说明∙控制器o控制器定义o前置和后置操作o Action参数绑定o伪静态o URL大小写o AJAX返回o URL生成o跳转和重定向o输入变量o请求类型o空操作o空控制器模型o模型定义o模型实例化o字段定义o连接数据库o切换数据库o分布式数据库支持o连贯操作▪WHERE▪TABLE▪ALIAS▪DATA▪FIELD▪ORDER▪LIMIT▪PAGE▪GROUP▪HAVING▪JOIN▪UNION▪DISTINCT▪LOCK▪CACHE▪COMMENT▪RELATION o命名范围o CURD操作▪数据创建▪数据写入▪数据读取▪数据更新▪数据删除o ActiveRecordo字段映射o查询语言▪查询方式▪表达式查询▪快捷查询▪区间查询▪组合查询▪统计查询▪SQL查询▪动态查询▪子查询o自动验证o自动完成o参数绑定o虚拟模型o模型分层o视图模型o关联模型o高级模型∙视图o模板定义o模板主题o模板赋值o模板渲染o获取模板地址o获取内容o模板引擎∙模板o变量输出o系统变量o使用函数o默认值输出o使用运算符o标签库o模板继承o修改定界符o三元运算o包含文件o内置标签▪Volist标签▪Foreach标签▪For标签▪Switch标签▪比较标签▪范围判断标签▪IF标签▪Present标签▪Empty标签▪Defined标签▪Assign标签▪Define标签▪标签嵌套▪import标签使用PHP代码o原样输出o模板注释o模板布局o模板替换∙调试o页面Traceo Trace方法o变量调试o性能调试o错误调试o模型调试o浏览器调试插件o调试模式o日志记录o异常处理∙扩展o类库扩展o驱动扩展o行为扩展o标签扩展o Widget扩展∙部署o PATH_INFO支持o URL重写o模块部署o域名部署∙缓存o数据缓存o快速缓存o查询缓存o字段缓存o SQL解析缓存o静态缓存∙专题o SAEo RESTFulo RPCo图像处理o IP获取和定位o验证码o文件上传o多语言支持o日期和时间o Cookie支持o SESSION支持环境要求复制本页链接ThinkPHP支持的服务器和数据库环境:o支持Windows/Unix服务器环境o可运行于包括Apache、IIS和nginx在内的多种WEB服务器和模式o支持Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase、Mongo以及PDO 等多种数据库和连接3.2版本的服务器环境要求如下:o PHP5.3以上版本框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

python字母大写函数

python字母大写函数

python字母大写函数Python是一种高级编程语言,最初由Guido van Rossum在1989年开发出来。

Python是一种易于学习和使用的编程语言,拥有简洁而清晰的语法,许多常见的编程任务可以用比其他语言更少的代码量完成。

Python可以用于各种不同的应用程序开发,从简单的脚本到复杂的Web应用程序都可以用Python来实现。

在Python中,如果想要将字符串中的所有字母变成大写,可以使用upper()函数。

upper()函数是Python的一个内置函数,用于将字符串中的所有字母变成大写。

下面是一个示例,展示了如何使用upper()函数将字符串中的所有字母变成大写:```str = "Hello, World!"print(str.upper())```在这个示例中,我们首先定义了一个名为str的字符串变量,它包含了一个简单的字符串。

然后,我们使用upper()函数将字符串中的所有字母变成大写,最后使用print()函数将结果输出到控制台。

使用upper()函数非常简单,只需要将要转换的字符串作为参数传递给函数即可。

upper()函数会返回一个新字符串,其中所有的字母都被转换成了大写。

需要注意的是,upper()函数只会转换字符串中的字母,不会影响数字、标点符号或其他字符。

如果想要将整个字符串都转换成大写,包括数字、标点符号和其他字符,可以将整个字符串先转换成小写字母,然后再调用upper()函数。

下面是一个示例:```str = "Hello, 123!@#$"print(str.lower().upper())```在这个示例中,我们首先将字符串转换成小写字母,然后再使用upper()函数将整个字符串转换成大写。

由于upper()函数只会转换字母,因此我们需要先使用lower()函数将所有字符都转换成小写,以便于后续使用upper()函数将所有字符都转换成大写。

thinkphp模板语法

thinkphp模板语法

thinkphp模板语法ThinkPHP 是一款流行的轻量级 PHP 开发框架,它的模板语法非常简单,易于学习和使用。

下面我们来简单介绍一下 ThinkPHP 的模板语法。

一、模板常量1. __ROOT__:当前网站根目录例如:2. __APP__:当前项目入口文件```<form action="__APP__/User/login" method="post">```3. __URL__:当前网站完整的 URL 地址在模板中通过 {} 来输出变量:```{$name}```如果需要在变量中使用函数,则可以这样实现:在这个例子中,strtoupper 是一个 PHP 函数,用于将字符串转换为大写字母。

三、模板循环在模板中,可以通过 foreach 语句来进行循环:```<ul>{foreach $users as $user}<li>{$}</li>{/foreach}</ul>```在这个例子中,$users 是一个数组,它包含多个用户对象。

foreach 语句会依次循环数组中的每个元素,并输出相应的属性。

四、模板条件```{if $score >= 60}<p>及格了!</p>{/if}```在这个例子中,如果 $score 变量的值大于等于 60,就会输出一条信息。

五、模板文件包含可以在模板中包含其它模板文件:```{include file="header.html"}```六、PHP 代码在模板中也可以直接使用 PHP 代码:或者使用简单语法:需要注意的是,直接在模板中使用 PHP 代码虽然方便,但并不符合良好的编程习惯。

建议将业务逻辑代码放在控制器中,通过变量传递给视图层。

以上就是对 ThinkPHP 模板语法的简单介绍。

此外,ThinkPHP 还提供了众多实用的扩展,例如缓存、分页、表单验证等,这些扩展都大大简化了我们的开发工作,提高了开发效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ThinkPHP 单字母函数A() 内部实例化控制器D() 实例化自定义模型类M() 实例化一个基础模型类R()调用某个控制器的操作方法L()启用多语言的情况下,设置和获取当前的语言定义N()计数器方法G()包括标记位置和区间统计两个功能F()用于简单数据缓存,并且只能支持文件形式C()用于设置、获取,以及保存配置参数方法详解:A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称')最简单的用法:$U SER =A('U SER');表示实例化当前项目的UserAction控制器(这个控制器对应的文件位于Lib/Action/UserAction.class.php),如果采用了分组模式,并且要实例化另外一个Admin 分组的控制器可以用:$U SER =A('A DMIN/U SER');也支持跨项目实例化(项目的目录要保持同级)$U SER =A('A DMIN://U SER');表示实例化Admin项目下面的UserAction控制器3.1版本增加了分层控制器的支持,所以还可以用A方法实例化其他的控制器,例如:$U SER =A('U SER','E VENT);实例化UserEvent控制器(对应的文件位于Lib/Event/UserEvent.class.php)。

实例化控制器后,就可以调用该控制器中的方法,不过需要注意的情况是,在跨项目调用的情况下,如果你的操作方法有针对当前控制器的特殊变量操作,会有一些未知的问题,所以,一般来说,官方建议需要公共调用的控制器层单独开发,不要有太多的依赖关系。

D方法应该是用的比较多的方法了,用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型','模型层名称')方法的返回值是实例化的模型对象。

D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会实例化Model基类,同时对于已实例化过的模型,不会重复去实例化。

D方法最常用的用法就是实例化当前项目的某个自定义模型,例如://实例化U SER模型$U SER =D('U SER');会导入当前项目下面的Lib/Model/UserModel.class.php文件,然后实例化UserModel 类,所以,实际上的代码可能和下面的等效:IMPORT('@.M ODEL.U SER M ODEL');$U SER = NEW U SER M ODEL();但是如果使用D方法的话,如果这个UserModel类不存在,则会自动调用NEW M ODEL('U SER');并且第二次调用的时候无需再次实例化,可以减少一定的对象实例化开销。

D方法可以支持跨分组和项目实例化模型,例如://实例化A DMIN项目的U SER模型D('A DMIN://U SER')//实例化A DMIN分组的U SER模型D('A DMIN/U SER')注意:要实现跨项目调用模型的话,必须确保两个项目的目录结构是并列的。

3.1版本开始,由于增加了分层模型的支持,所以D方法也可以实例化其他的模型,例如://实例化U SER S ERVICE类$U SER =D('U SER','S ERVICE');//实例化U SER L OGIC类$U SER =D('U SER','L OGIC');D('U SER','S ERVICE');会导入Lib/Service/UserService.class.php,并实例化,等效于下面的代码:IMPORT('@.S ERVICE.U SER S ERVICE');$U SER = NEW U SER S ERIVCE();M方法用于实例化一个基础模型类,和D方法的区别在于:1、不需要自定义模型类,减少IO加载,性能较好;2、实例化后只能调用基础模型类(默认是M ODEL类)中的方法;3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息;D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版T HINK PHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。

M方法的调用格式:M('[基础模型名:]模型名','数据表前缀','数据库连接信息')我们来看下M方法具体有哪些用法:1、实例化基础模型(M ODEL)类在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行操作://实例化U SER模型$U SER =M('U SER');//执行其他的数据操作$U SER->SELECT();这种方法最简单高效,因为不需要定义任何的模型类,所以支持跨项目调用。

缺点也是因为没有自定义的模型类,因此无法写入相关的业务逻辑,只能完成基本的CURD操作。

$U SER =M('U SER');其实等效于:$U SER = NEW M ODEL('U SER');表示操作THINK_USER表。

M方法和D方法一样也有单例功能,多次调用并不会重复实例化。

M方法的模型名参数在转换成数据表的时候会自动转换成小写,也就是说T HINK PHP的数据表命名规范是全小写的格式。

2、实例化其他公共模型类第一种方式实例化因为没有模型类的定义,因此很难封装一些额外的逻辑方法,不过大多数情况下,也许只是需要扩展一些通用的逻辑,那么就可以尝试下面一种方法。

$U SER =M('C OMMON M ODEL:U SER');改用法其实等效于:$U SER = NEW C OMMON M ODEL('U SER');因为系统的模型类都能够自动加载,因此我们不需要在实例化之前手动进行类库导入操作。

模型类C OMMON M ODEL必须继承M ODEL。

我们可以在C OMMON M ODEL类里面定义一些通用的逻辑方法,就可以省去为每个数据表定义具体的模型类,如果你的项目已经有超过100个数据表了,而大多数情况都是一些基本的CURD操作的话,只是个别模型有一些复杂的业务逻辑需要封装,那么第一种方式和第二种方式的结合是一个不错的选择。

3、传入表前缀、数据库和其他信息M方法有三个参数,第一个参数是模型名称(可以包括基础模型类和数据库),第二个参数用于设置数据表的前缀(留空则取当前项目配置的表前缀),第三个参数用于设置当前使用的数据库连接信息(留空则取当前项目配置的数据库连接信息),例如:$U SER =M('DB2.U SER','THINK_');表示实例化M ODEL模型类,并操作DB2数据库中的THINK_USER表。

如果第二个参数留空或者不传,表示使用当前项目配置中的数据表前缀,如果操作的数据表没有表前缀,那么可以使用:$U SER =M('DB1.U SER',NULL);表示实例化M ODEL模型类,并操作DB1数据库中的USER表。

如果你操作的数据库需要不同的用户账号,可以传入数据库的连接信息,例如:$U SER =M('U SER','THINK_','MYSQL://USER_A:1234@LOCALHOST:3306/THINKPHP');表示基础模型类用M ODEL,然后对THINK_USER表进行操作,用USER_A账号进行数据库连接,操作数据库是THINKPHP。

第三个连接信息参数可以使用DSN配置或者数组配置,甚至可以支持配置参数。

例如,在项目配置文件中配置了:'DB_CONFIG'=>'MYSQL://USER_A:1234@LOCALHOST:3306/THINKPHP';则可以使用:$U SER =M('U SER','THINK_','DB_CONFIG');基础模型类和数据库可以一起使用,例如:$U SER =M('C OMMON M ODEL:DB2.U SER','THINK_');如果要实例化分层模型的话,利用公共模型类的方式,我们可以使用:M('U SER L OGIC:U SER');来实例化U SER L OGIC,虽然这样做的意义不大,因为可以用D('U SER','L OGIC');实现同样的功能。

R方法用于调用某个控制器的操作方法,是A方法的进一步增强和补充。

R方法的调用格式:R('[项目://][分组/]模块/操作','参数','控制器层名称')例如,我们定义了一个操作方法为:1.CLASS U SER A CTION EXTENDS A CTION {2.PUBLIC FUNCTION DETAIL($ID){3.RETURN M('U SER')->FIND($ID);4. }5. }那么就可以通过R方法在其他控制器里面调用这个操作方法(一般R方法用于跨模块调用)1.$DATA = R('U SER/DETAIL',ARRAY('5'));表示调用U SER控制器的DETAIL方法(DETAIL方法必须是PUBLIC类型),返回值就是查询ID为5的一个用户数据。

如果你要调用的操作方法是没有任何参数的话,第二个参数则可以留空,直接使用:1.$DATA = R('U SER/DETAIL');也可以支持跨分组和项目调用,例如:1.R('A DMIN/U SER/DETAIL',ARRAY('5'));表示调用A DMIN分组下面的U SER控制器的DETAIL方法。

1.R('A DMIN://U SER/DETAIL',ARRAY('5'));表示调用A DMIN项目下面的U SER控制器的DETAIL方法。

官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用,例如,我们增加一个A PI控制器层,1.CLASS U SER A PI EXTENDS A CTION {2.PUBLIC FUNCTION DETAIL($ID){3.RETURN M('U SER')->FIND($ID);4. }5. }然后,使用R方法调用1.$DATA = R('U SER/DETAIL',ARRAY('5'),'A PI');也就是说,R方法的第三个参数支持指定调用的控制器层。

相关文档
最新文档