zoukankan      html  css  js  c++  java
  • URL解析模式(伪静态)

    学习要点:
     
      1.URL 解析
      2.URL 模式
    本节课我们来了解一下 ThinkPHP5.1 的架构体系,架构分为入口、URL、模块、命名
    空间、容器和依赖注入、Facade、钩子和行为以及中间件,我们会根据课程进度来穿插讲
    解,并不会按顺序来。
     
    一.URL 解析
    1.ThinkPHP 框架非常多的操作都是通过 URL 来实现的;
    2.http://serverName/index.php/模块/控制器/操作/参数/值…;
    3.index.php 为入口文件,在 public 目录内的 index.php 文件;
    4.模块在 application 目录下默认有一个 index 目录,这就是一个模块;
    5.而在 index 目录下有一个 controller 控制器目录的 Index.php 控制器;
    6.Index.php 控制器的类名也必须是 class Index,否则错误;
    7.而操作就是控制器 class Index 里面的方法,比如:index 或 hello;
    8.那么完整形式为:public/index.php/index/index/index
    晕了吗?
    9.官方给的默认模块,默认控制器,默认操作都是 index,所以出现四个 index;
    10.而操作还另给了一个带参数的方法:hello,如下:
    11.那么完整形式为:public/index.php/index/index/hello/name/Lee
    12.为了更清晰的了解 URL 路径的执行过程,我们自己创建一个完全不重复的 URL;
    13.在 application 目录下创建一个 test 目录(模块);
    14.在 test 模块下创建控制器目录 controller,并在旗下创建 Abc.php(控制器);
    15.创建如下代码:
     
     
    <?php
    namespace app estcontroller;
    class Abc
    {
    public function eat($who = '隔壁老王')
    {
      return $who.'吃饭!';
    }
    }
    16.代码中 eat 是方法(操作),$who 是参数,'隔壁老王'是值;
    17.完整形式为:public/index.php/test/abc/eat/who/主人老李
     
    二.URL 模式
    1.上个要点已经了解了 URL 所有访问规则,通过创建 test 模块更加了解;
    2.如果 wamp 环境没有开启伪静态,那么 ThinkPHP 不支持 URL 重写;
    3.没有开启 URL 重写,那只能使用 PATH_INFO 模式,如下:
    4.public/index.php?s=test/abc/eat/who/主人老李;
    5.我们这里是 Apache,其它环境请,如果你使用了,请参考手册;
    6.打开 httpd.conf 文件,加载 mod_rewrite.so,即去掉前面的#号;
    7.将下面代码,放入入口文件 index.php 同级目录下的.htaccess;
    8.上一步,框架本身已经做好了,那其实就是第 6 步一步,然后重启环境;
    9.此时的 URL 重写,可以省略 index.php 了,路径如下:
    10.public/test/abc/eat/who/主人老李
  • 相关阅读:
    HDU 1863 畅通project (最小生成树是否存在)
    经常使用MD5算法代码
    HDU 5045(Contest-费用流)[template:费用流]
    【c语言】统计一个数二进制中的1的个数
    git
    如何在阿里云服务器里配置iis 搭建web服务
    war包放入tomcat
    互联网推送服务原理:长连接+心跳机制(MQTT协议)
    保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护 3
    保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护 2
  • 原文地址:https://www.cnblogs.com/xiaowie/p/15148299.html
Copyright © 2011-2022 走看看