您的位置:首页 > 编程语言 > PHP开发

模仿thinkphp访问控制器的方法

2014-07-14 14:09 176 查看
Thinkphp,作为中mvc架构里比较简单的php框架,其本身特殊的访问控制器的方法让人爱不释手,也给我这个web初学者很大的震撼——接口竟然可以做的那么简洁明了。

Thinkphp里,访问控制器的方法是下面这样的:  localhost/app/index.php/Controller/Method。更形象的来说就是,假如你在app/Lib/Action文件夹下新建了一个叫做ApiAction.class.php的文件,里面有个public的方法,名字叫做getInformation。那么,访问这个方法的url就可以这样写:http://localhost/app/index.php/Api/getInformation。当你把这段url放到浏览器的地址栏里,thinkphp就会运行ApiAction.class.php里的getInformation方法。

由于知道了thinkphp有如此方便的访问函数的方法,一度对此爱之有加。前段时间,做大作业的时候,我被分配到写前后台衔接的接口。前期谈论的时候,自己就想着用thinkphp完成接口的编写,这样写出来的接口文件既简洁又易懂。然而,由于后台不是我写的,而写后台的伙伴用的是原生的php访问mysql数据库的方法。在thinkphp里,虽然允许原生的方法,但是访问数据库必须new一个空的model,然后用model来访问数据库,而且访问出来的结果跟原生的不一样。因为这点,我想到:我需要的只是thinkphp访问函数的这种方法,其他的特性不需要。因此,我何不自己查一下,弄个类似的形式就可以了。

果然,通过百度和谷歌,我找到pathinfo,这个关键字。接着,再从php.net查阅pathinfo这个方法,以及$_SERVER的属性,想出一个解决这个问题的解决方案。当我想出解决方案的时候,猛然间再看到那条访问函数的url,顿时理解了为什么thinkphp需要一个入口文件,也更加理解为什么叫“入口”。

这里把关键代码共享出来,以供参考

$path = pathinfo($_SERVER['PHP_SELF']);
print_r($path);


将这句代码放到你的www文件夹下面,然后试图访问一下,你就知道其中道理了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pathinfo thinkphp