日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ThinkPHP學習筆記(三)入口-創(chuàng)新互聯(lián)

1.入口文件

從事成都服務器托管,服務器租用,云主機,網(wǎng)頁空間,域名與空間,CDN,網(wǎng)絡(luò)代維等服務。

ThinkPHP采用單一入口模式進行項目部署和訪問,無論完成什么功能,一個項目都有一個統(tǒng)一(但不一定是唯一)的入口。應該說,所有項目都是從入口文件開始的,并且所有的項目的入口文件是類似的,入口文件中主要包括:

2定義框架路徑、項目路徑和項目名稱(可選)

2定義調(diào)試模式和運行模式的相關(guān)常量(可選)

2載入框架入口文件(必須

首先,在服務器或者本地的Web目錄下面創(chuàng)建一個App目錄,并且把下載的ThinkPHP框架的ThinkPHP目錄拷貝到App目錄下面,然后在App目錄下面創(chuàng)建一個index.php文件,該文件就是我們要創(chuàng)建項目的入口文件。

新版的入口文件更加簡化,默認情況下,只需要在該文件中添加一行代碼即可:

   require  './ThinkPHP/ThinkPHP.php';

然后,我們打開瀏覽器,輸入地址并運行:

http://localhost/App/

就會看到歡迎頁面:

表示ThinkPHP已經(jīng)成功執(zhí)行,這個時候,系統(tǒng)已經(jīng)在App下面自動生成了項目相關(guān)目錄,并寫入了初始Action。(注意:如果是類Unix或者Linux環(huán)境下測試的話,需要對App目錄設(shè)置可寫權(quán)限,否則無法自動生成目錄結(jié)構(gòu)

入口文件中還可以添加系統(tǒng)或者應用的常量定義,如果我們的項目需要采用其他的模式運行(例如,采用命令行模式運行),那么可以定義MODE_NAME如下:

define('MODE_NAME','cli');

如果沒有在項目入口文件中設(shè)置MODE_NAME常量的話,就表示采用系統(tǒng)的標準模式運行。由于模式擴展可以改變底層的運行機制和行為定義,本手冊中的內(nèi)容如無特別說明,功能描述均表示運行于標準模式下面。

入口文件并不一定都是指index.php 文件,因為我們可以為不同的項目創(chuàng)建不同的入口文件,例如,前臺項目的入口文件為index.php ,后臺項目的入口文件可能是admin.php。

如果你改變了項目目錄(例如把Application更改為Apps),只需要在入口文件更改APP_PATH常量定義即可:

   define('APP_PATH','./Apps/');
   require './ThinkPHP/ThinkPHP.php';

注意:3.2版本開始無需定義APP_NAME常量。

注意:APP_PATH的定義支持相對路徑和絕對路徑,但必須以“/”結(jié)束。

如果你調(diào)整了框架核心目錄的位置或者目錄名,只需要這樣修改:

   define('APP_PATH','./Application/');require './Think/ThinkPHP.php';

也可以單獨定義一個THINK_PATH常量用于引入:

   define('APP_PATH','./Application/');
   define('THINK_PATH',realpath('../Think').'/');
   require THINK_PATH.'ThinkPHP.php';

和APP_PATH一樣THINK_PATH路徑定義也必須以“/”結(jié)尾。
給THINK_PATH和APP_PATH定義絕對路徑會提高系統(tǒng)的加載效率。

2.入口文件的其他定義

一般不建議在入口文件中做過多的操作,但可以重新定義一些系統(tǒng)常量,入口文件中支持定義(建議)的一些系統(tǒng)常量包括:

常量
描述
THINK_PATH

框架目錄

APP_PATH
應用目錄
RUNTIME_PATH
應用運行時目錄(可寫)
APP_DEBUG
應用調(diào)試模式(默認false)
STORAGE_TYPE
存儲類型(默認為FILE)
APP_MODE
應用模式(默認common)

注意:所有路徑常量都必須以“/”結(jié)尾

3.自動生成目錄

接下來再看原來空的Application目錄下面,已經(jīng)自動生成了公共模塊Common、默認的Home模塊和Runtime運行時目錄的目錄結(jié)構(gòu):

Application
├─Common         應用公共模塊
│  ├─Common      應用公共函數(shù)目錄
│  └─Conf        應用公共配置文件目錄
├─Home           默認生成的Home模塊
│  ├─Conf        模塊配置文件目錄
│  ├─Common      模塊函數(shù)公共目錄
│  ├─Controller  模塊控制器目錄
│  ├─Model       模塊模型目錄
│  └─View        模塊視圖文件目錄
├─Runtime        運行時目錄
│  ├─Cache       模版緩存目錄
│  ├─Data        數(shù)據(jù)目錄
│  ├─Logs        日志目錄
│  └─Temp        緩存目錄

如果你不是Windows環(huán)境下面的話,需要對應用目錄Application設(shè)置可寫權(quán)限才能自動生成。
如果不是調(diào)試模式的話,會在Runtime目錄下面生成common~runtime.php文件(應用編譯緩存文件)。

4.目錄安全文件

在自動生成目錄結(jié)構(gòu)的同時,在各個目錄下面我們還看到了index.html文件,這是ThinkPHP自動生成的目錄安全文件。

為了避免某些服務器開啟了目錄瀏覽權(quán)限后可以直接在瀏覽器輸入URL地址查看目錄,系統(tǒng)默認開啟了目錄安全文件機制,會在自動生成目錄的時候生成空白的index.html文件,當然安全文件的名稱可以設(shè)置,例如你想給安全文件定義為default.html可以在入口文件中添加:

   define('DIR_SECURE_FILENAME', 'default.html');
   define('APP_PATH','./Application/');
   require './ThinkPHP/ThinkPHP.php';

如果你的環(huán)境足夠安全,不希望生成目錄安全文件,可以在入口文件里面關(guān)閉目錄安全文件的生成,例如:

   define('BUILD_DIR_SECURE', false);

5.控制器

我們可以在自動生成的Application/Home/Controller目錄下面找到一個IndexController.class.php 文件,這就是默認的Index控制器文件。

控制器類的命名方式是:控制器名(駝峰法,首字母大寫)+Controller

控制器文件的命名方式是:類名+class.php(類文件后綴)

默認的歡迎頁面其實就是訪問的Home模塊下面的Index控制器類的index操作方法我們修改默認的index操作方法如下:

namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller 
{    
    public function index()
    {        
    echo 'hello,world!';    
    }
}

再次運行應用入口文件,瀏覽器會顯示:hello,world!。

我們再來看下控制器類,IndexController控制器類的開頭是命名空間定義:

   namespace Home\Controller;

這是系統(tǒng)的規(guī)范要求,表示當前類是Home模塊下的控制器類,命名空間和實際的控制器文件所在的路徑是一致的,也就是說: Home\Controller\IndexController類 對應的控制器文件位于應用目錄下面的 Home/Controller/IndexController.class.php,如果你改變了當前的模塊名,那么這個控制器類的命名空間也需要隨之修改。

注意:命名空間定義必須寫在所有的PHP代碼之前聲明,否則會出錯

   use Think\Controller;

表示引入 Think\Controller 命名空間便于直接使用。所以,

   use Think\Controller;
  class IndexController extends Controller

等同于使用:

   class IndexController extends \Think\Controller

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)站欄目:ThinkPHP學習筆記(三)入口-創(chuàng)新互聯(lián)
當前URL:http://www.dlmjj.cn/article/gshig.html