thinkPHP5.0.22初体验---路由,url访问
“豪情卷起万重浪,吼吼哈哈~”一学thinkPHP才知道这是个国内研究的php web开发框架,瞬间自豪感如电流一般传遍全身
这就不多不说说
一.控制器
所谓MVC编程,无外乎函数(sometimes类结构),模板,输出处理结果,接收处理请求,模型----说白了就是利用web框架预定义的类,去创建数据库表结构
那么thinkPHP的项目结构如下:
其中public文件夹下的index.php我们不妨理解为网站程序的主入口,他对应的启动了thinkphp内置的一段网站欢迎程序;但public文件夹下的index.php并不用来构建功能页面(或者是我们所说的html代码),他只负责传递请求(不妨看作是一个分发程序),真正接受请求的是index文件夹下的controller文件夹下的Index.php!!!再根据请求的类型来调用Index.php(当然是controller文件夹下的)中的具体功能函数
namespace app\index\controller; use think\Controller; use think\Request; /** * @property request */ class Index extends Controller { public function index() { return '<style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor:
pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei";
color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;">
<h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">
[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript"
src="https://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ad_bd568ce7058a1091"></think>'; } public function sniffsocks() { print_r($this->request->param()); exit; } public function xinlihua($say) { echo $say; } public function iwant() { echo "晚上想跟小松鼠学学散打"; } }
#配置: /etc/hosts文件
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.olddream.com
在地址栏中输入:http://www.olddream.com/index.php/index/Index/iwant
返回结果:
绑定参数的url路径访问方法
#以thinkphp5.0.23为例创建新模块 在项目目录下运行 运行命令行命令 php think build --module tianheiwadi
//url中省略index.php的访问方式
在httpd.conf中作出如下配置
1.加载rewrite模块 LoadModule rewrite_module modules/mod_rewrite.so
2.在网站virtualhost中添加<Directory></Directory>并设定AllowOverride参数值为All
原函数和访问效果
//一种继续简化url的方式,我们谓之路由
找到项目application文件夹下的config.php,找到'url_route_must'设置为true
//编写视图函数
//找到application下的route.php
'wenwadi' => 'tianheiwadi/Obscene/wenheisi'这段是朕添加的
访问结果:
//带参数的路由,依然在route.php中设定
'tianwadi/:name' => 'tianheiwadi/Obscene/checkinfo'
//函数如下 public function checkinfo($name) { switch ($name) { case $name=="cpc": echo "大家好,我是陈培昌,今年21,快来找我学习站立式格斗吧"; break; case $name=="xxd": echo "诶~姑娘和小伙子们,mma训练结束后请我吃大肉"; break; default: echo "欢迎来到帅厉猴儿的搏击私房菜"; } }
效果:
可以看到。在启用了路由简化参数后。直接就是域名加上路由别名和参数访问