请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 2541|回复: 5

自定义controller的function怎么互相调用

  [复制链接]
发表于 2015-1-15 23:12:08 | 显示全部楼层 |阅读模式
先描述下需求,我在model下建了一个agency_model.php,对应表也建立了,controller下也建立了对应的agency_controller.php用来处理,agency_controller.php里建了一个自定义的function->add,代码在下面,对应此表的添加维护页面也都调通了,通过前台html的form提交也可以正常的add记录进ac_agency表,现在的问题是我在另一个页面调用另一个controller下自添加的class下的某个function时(比方说添加一个导游信息时),我想直接调这一下这个agency class的add function,应该怎么调用,参数ac_name和ac_phone在这种情况下设定为'guide'和'xxx'传递。

jake老大,可能我的问题比较小白,但我确实又翻了一遍手册的,只找到了调用第三方的include class调用,那个我会调,但这个怎么也没调通,求点拨。。。

function add()
{
$ac_name=$this->spArgs("ac_name");
$ac_phone=$this->spArgs("ac_phone");
$execsql = array('ac_name' => $ac_name,'ac_phone' => $ac_phone);
$result = spClass('ac_agency')->create($execsql);
if ($result)
{echo json_encode(array('success'=>true));}
else
{echo json_encode(array('errormsg'=>'操作失败,请重试!'));}
}
发表于 2015-1-16 08:39:11 | 显示全部楼层
其实也还是spClass来做http://www.speedphp.com/thread-3825-1-1.html

spClass的第三个参数是类的路径,把它设置成你另一个controller的文件路径,这样就可以调用到那个controller类了
 楼主| 发表于 2015-1-17 10:03:34 | 显示全部楼层
jake 发表于 2015-1-16 08:39
其实也还是spClass来做http://www.speedphp.com/thread-3825-1-1.html

spClass的第三个参数是类的路径,把 ...

你的那个例子没有给function传参数,如果要带参数怎么传递呢?
我这样写报错了
$rtn_log = array('ac_name' => 'test','ac_phone' => 'XXX');
spClass('agency')->add($rtn_log);

发表于 2015-1-17 21:29:26 | 显示全部楼层
dongxu0139 发表于 2015-1-17 10:03
你的那个例子没有给function传参数,如果要带参数怎么传递呢?
我这样写报错了
$rtn_log = array('ac_nam ...

和你“已经会”的第三方类库调用方法一样,包括参数也一样。
报错请写出报错 信息可以吗?

靠猜是不知道出什么错误的
 楼主| 发表于 2015-1-18 23:55:08 | 显示全部楼层
jake 发表于 2015-1-17 21:29
和你“已经会”的第三方类库调用方法一样,包括参数也一样。
报错请写出报错 信息可以吗?

报错为:agency类定义不存在,请检查。
第一个问题是为什么找不到class,由于文件就是在系统的controller目录下,所以我没有再指定$dir,应该怎么写?
第二个问题是我要在调用class里的function时传入两个参数,我这么写对不对?
$rtn_log = array('ac_name' => 'test','ac_phone' => 'XXX');
spClass('agency')->add($rtn_log);


发表于 2015-1-19 08:44:07 | 显示全部楼层
dongxu0139 发表于 2015-1-18 23:55
报错为:agency类定义不存在,请检查。
第一个问题是为什么找不到class,由于文件就是在系统的controller ...

指定目录吧,楼上不是回答你说要指定目录吗?
controller类理论上开发时候不需要互相调用的,所以spClass默认没有controller目录的遍历,需要手动指定目录。

您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2019-12-10 22:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表