## 访问控制器 简单来说就是怎么通过destoon网站的url来访问控制器,高大上的说就是路由。 比如:我们现在有一个控制器位于 DTapi/app/dtapi.com/ceshi/controller/user.php * 第一步:先在destoon对应的目录下建一个入口文件,比如我的插件是要在会员中使用的,那么在destoon程序根目录下的 meber目录新建一个 ceshi.php 里面写: ``` <?php require '../common.inc.php'; //这个是必须的,DTapi框架依赖于destoon运行 $DTapi = [ 'author' => 'dtapi.com', //作者目录 'name' => 'ceshi', //应用目录 'codeigniter' => 'user' //控制器 ]; require '../DTapi/start.php'; ``` 这时候我们打开https://www.dtapi.com/member/ceshi.php就会访问到user.php里面的index() 方法中的内容了。 这是最基本的使用方法,但是有一点不好就是ceshi.php这个入口文件,我只能访问ceshi应用的user.php控制器,要访问其它控制器那么我们就得再加一个入口文件,这样体验就不好了,作为一个独立的插件我们最好是做到只有一个入口文件。 那么我们改造一下,删除控制器的绑定: ``` <?php require '../common.inc.php'; //这个是必须的,DTapi框架依赖于destoon运行 $DTapi = [ 'author' => 'dtapi.com', //作者目录 'name' => 'ceshi', //应用目录 ]; require '../DTapi/start.php'; ``` 上面我们删除了 'codeigniter' => 'user' //控制器 这一行。 再访问https://www.dtapi.com/member/ceshi.php,发现我们访问到的是index控制中index()方法的内容,这是因为我们url没有传控制器名称,所以默认访问index控制器。如果想访问其它控制器,只需要在url带上m参数即可; 例:https://www.dtapi.com/member/ceshi.php?m=user 这样就访问到user控制器了。 ## 访问控制器的指定方法 通过上面的例子我们学会怎么访问控制器了,可有没有发现访问的都是每个控制器中的index()方法,我们一个控制器肯定不一只一个方法,不用担心,这都不是事。 访问其它方法我们只需要再带一个ac参数就行了 例:https://www.dtapi.com/member/ceshi.php?m=user&ac=edit 这样就能访问user控制器中的edit()方法。 ##提醒 简单吧,DTapi没有复杂的路由设置,一切都是为了简化destoon插件而生的,所以根本不存在一个完整php框架那么复杂的路由机制。 # 打赏 您的支持是我最大的动力哦,立即通过微信扫一扫犒劳下高飞吧! ![](images/weixin.jpg)