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\test\controller;
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/主人老李

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章