微信小程序商城全栈开发 作业笔记 (五)URL路径模式编写一个简单的程序
1.PATH_INFO URL路径模式
(TP5默认的模式 不区分大小写)
http://serverName | index.php/ | module/ | controller/ | action/ | /[param/value…] |
---|---|---|---|---|---|
主机名 | 入口文件 | 模块 | 控制器 | 操作方法 | 参数名,值 |
http://localhost/zerg/public/ | index.php/ | index/ | index/ | index |
(param/value…不一定必须)
应用application没有出现在URL路径的原因:
来看看TP5默认的入口文件,首先定义一个常量APP_PATH,指定了application,请求进入到人口文件时就知道访问application
(application可以在配置文件config.php里面改名)
注意:浏览器index.php入口文件后面路径都是可以缺省的,index是TP5默认的保留字,没写的话与index.php相关的路径也会自动补全,只指index,自定义的不算
TP5还有有一种兼容模式在这里就不提了,大家可以看看文档
(建议:最好这两种模式都不要使用,通过介绍这个URL模式来理解TP5的路由,路由在后面讲到,不急呀)
2.编写一个简单的模块
再新建一个模块,仿照TP5默认的模块,在application下新建一个模块文件夹sample,再在这个文件夹里新建一个controller文件夹,在这个文件夹里又新建一个Test的php.Class文件,命名空间 app\sample\Test如图
设置Test的命名空间要注意:必须要以app开头,指的是应用程序的根命名空间,TP5的默认设置(可在config.php的配置文件里更改名字)
自动设置命名空间的小技巧:
1.一般会有一个提示框出现,点击蓝色的字就可以了
2.如果没有呢,就需要我们自己手动的设置:
打开 设置 页面,找到Directories目录,app是应用目录,应用就是application,点击application,再点击上方的Sources(源码),看到右边出现的很小的标识,点击,输入app在里面就可以了,完成了application右边会出现(app)标记,以后在application新建文件就会自动补全命名空间了
继续编写这个小模块,加入一下代码
class Test
{
public function hello()
{
return'hello,PHP';
}
}
在浏览器里访问一下,路径如下
localhost/zerg/public/index.php/sample/test/hello
出现 hello,PHP
这里的index后不可以省,省了TP5会自动找这个index()方法,如图
昨天这一篇写的时间有点晚,没仔细看,controller文件夹少了一个字母,在这里提一下,这样访问浏览器会出现 Test控制器 找不到问题,一般的模块找不到一般都是命名空间出了问题
(注意:controller是必须写在模块里的,TP5要求的,缺少会提示 模块 不存在)
就先到这里吧,下节见