“豪情卷起万重浪,吼吼哈哈~”一学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..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 "欢迎来到帅厉猴儿的搏击私房菜";
  }
}
效果:

可以看到。在启用了路由简化参数后。直接就是域名加上路由别名和参数访问

thinkPHP5.0.22初体验---路由,url访问的更多相关文章

  1. thinkPHP5.0.22初体验---request相关用法

    如果浏览器要返回美观排列的json数据,可以安装火狐浏览器的插件 返回XML的数据格式 渲染模板的用法 return $this->fetch('index/index2')效果 扒掉stirp ...

  2. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  3. thinkphp5.0.22远程代码执行漏洞分析及复现

    虽然网上已经有几篇公开的漏洞分析文章,但都是针对5.1版本的,而且看起来都比较抽象:我没有深入分析5.1版本,但看了下网上分析5.1版本漏洞的文章,发现虽然POC都是一样的,但它们的漏洞触发原因是不同 ...

  4. Django3.0 异步通信初体验

    此前博主曾经写过一篇博文,介绍了Django3.0的新特性,其中最主要的就是加入对ASGI的支持,实现全双工的异步通信. 2019年12月2日,Django终于正式发布了3.0版本.怀着无比的期待,我 ...

  5. Django3.0 异步通信初体验(小结)

    2019年12月2日,Django终于正式发布了3.0版本.怀着无比的期待,我们来尝试一下吧! (附ASGI官方文档地址:https://asgi.readthedocs.io/en/latest/e ...

  6. PHP Slim 框架初体验之无法访问控制器

    话不多说,先把报错贴出来: 刚开始用slim框架,在设置完自动加载文件和路由文件之后,我写了一个控制器: <?php use \Psr\Http\Message\ServerRequestInt ...

  7. Spark2.1.0——Spark初体验

    学习一个工具的最好途径,就是使用它.这就好比<极品飞车>玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘.用脚感受刹车与油门的力道.在IT领域,在深入了解一个系统的原 ...

  8. beego 初体验 - 路由

    beego 的路由系统写的很精简 直接将 url 和要映射的 controller 类关联起来就OK: 然后再放一张 login 的 controller 实现,刚好展示下同一个 url 映射到不同方 ...

  9. selenium 3.0 beta2 初体验

    经过漫长的等待,终于迎来了selenium 3.0 从selenium 1.0 至今,差不多有十多年的历史.这个月终于迎来了selenium3.0 那么selenium3.0 为我们带来了什么? 看一 ...

随机推荐

  1. Python-数据库索引浅谈

    检索原理 检索初识 ​ 索引在MySQL中是一种"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的检索性能,非常关键,尤其是当表中的数据量越大,索引对于性能的提升越显 ...

  2. word2010 标题自动编号设置

    今天打算写篇文档,发现生成标题时无法自动生成编号,上网查了一下,现在把解决办法跟附图一块儿奉上. 新建word文档: 默认版式: 设置自动编号所在工具栏位置: 设置选择: 最终结果:

  3. [转帖].MegaRAID SAS 9361-8i 开箱 极简测试

    [配件开箱] 谁说raid0软硬没多大区别的...MegaRAID SAS 9361-8i 开箱 极简测试 [复制链接] https://www.chiphell.com/thread-1810952 ...

  4. SqlServer中#和##的区别

    本地临时表的名称以单个数字字符(#)开头,它们仅对当前的用户连接是可见的. 全局临时表的名称以两个数字字符(##)开头,创建后对任何用户都是可见的.

  5. <<C++ Primer>> 第 7 章 类

    术语表 第 7 章 类 抽象数据类型(abstract data type): 封装(隐藏)了实现细节的数据结构.    访问说明符(access specifier): 包括关键字 public 和 ...

  6. 多个div排列在同一行而不换行

    有时候,我们可能会产生多个div标签横向排列而不换行的需求,具体有以下几种实现方法: 1. 同级div设置display:inline-block,父级div强制不换行例如: <html> ...

  7. 在Qt5使用中文(vs环境)

    如果是使用mingw版本的Qt create, 也就是使用GCC编译器应该没那么多事吧. 不过我还是用惯了VS呢. 好了,废话不多说,开始总结vs下乱码的解决方案. vs2003 把源码存成 utf- ...

  8. 多进程-Pipe和Manager数据共享和传递

    pipe.py#多进程数据传递接收和发送(类似socket) from multiprocessing import Process,Pipe def f(conn): conn.send([42,N ...

  9. linux端口控制(开放-禁止)

    禁止访问80端口iptables -I INPUT -p tcp --dport 80 -j DROP 允许ip为192.168.1.1的机器访问iptables -I INPUT -p tcp -s ...

  10. 07 Deque的应用案例-回文检查

    - 回文检测:设计程序,检测一个字符串是否为回文. - 回文:回文是一个字符串,读取首尾相同的字符,例如,radar toot madam. - 分析:该问题的解决方案将使用 deque 来存储字符串 ...