新手提问thinkphp3.2.3访问IndexController.class.php内的自定义方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手提问thinkphp3.2.3访问IndexController.class.php内的自定义方法相关的知识,希望对你有一定的参考价值。

自定义入口:web根目录/bd/test.php
tp位置于test.php同目录。

代码1:
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
public function index()
echo "string";


public function showsss()
echo "string2";


测试1:http://127.0.0.1/bd/test.php 正常输出string
测试2:http://127.0.0.1/bd/test.php/home/index/showsss 正常输出string2

但是 问题在于内置方法index()里。我改成例如微信验证代码的 复杂代码
public function index()
$signature=$_GET["signature"];
$timestamp=$_GET["timestamp"];
$nonce=$_GET["nonce"];
$echostr=$_GET['echostr'];
$token='略过';
//.....以下略过......//

然后 上面 测试2就无法输出string2了,
页面提示 :(
ThinkPHP3.2.3 Fast & Simple OOP PHP Framework -- [ WE CAN DO IT JUST THINK ]
这是为什么,求解,如何在index()内有复杂代码情况下,showsss()方法能正常访问
补充一点,忘记了:web服务器环境是windows,php5.6.27+Apache;
如何在 index()方法内 有复杂代码的时候,调用 showsss自定义方法可正常输出,而不是报错。

把URL_MODEL调成2, Apache服务的话,把rewrite打开,去开发文档里有.htaccess的规则,保存成.htaccess文件放到根目录下, iis的话那你要根据.htaccess的规则写相应的rewrite规则,U()方法生成的url就隐去index.php了,要记得把rewrite规则写进去,不然访问不了
望采纳
参考技术A 没看懂你是什么意思

非常多学ThinkPHP的新手会遇到的问题

在模板传递变量的时候,非常多视频教程都使用$v.channel的方式。例如以下:

<a href="{:U(‘Chat/set‘,array(‘id‘=>$v.channel))}" title="设置" class="btn btn-mini tip">

这会导致URL在解析的时候出现故障。URL后面变成了id/Arraychannel.html

事实上在TP手冊变量输出那里,数组输出的时候除了使用上面的方式外还能够使用以下的方式:

$v[‘channel‘]

当我们要输出多维数组的时候,往往要採用这样的方式。使用这样的方式就不会出现前面的问题了


官方在线手冊-变量输出地址:http://document.thinkphp.cn/manual_3_2.html#var_output



以上是关于新手提问thinkphp3.2.3访问IndexController.class.php内的自定义方法的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp3.2.3 max函数在哪个类封装的

ThinkPHP3.2.3公共模板中循环数组变量问题

thinkphp3.2.3+smarty解决success调用模板错误心得

thinkphp3.2.3在模板中调用方法

Thinkphp3.2.3关于开启DEBUG正常,关闭DEBUG就报错模版无法找到

thinkphp3.2.3如何每30分钟自动执行controller下的方法,这个是主动的,不需要访问,本人操作系统是win10