php ci介绍,PHP CI 框架教程 (1) -- 安裝和簡介

CodeIgniter 是一個小巧但功能強大的 PHP 框架,作為一個簡單而“優雅”的工具包,它可以為開發者們建立功能完善的 Web 應用程序。是比較主流的一個PHP框架。

1. 安裝

下載后解壓縮,然后放到你應用服務器對應的程序目錄中即可,如MAC (/Library/WebServer/Documents)

啟動應用服務器,如apache httpd 或 nginx ,然后就可以在瀏覽器中訪問到

a5ebc9ff89605abdfe4aae3154bca722.png

2. CI框架結構

b6fdf9b03f72a7b4fc302eaa8e44136e.png

1)首先,不管什么請求,都先送到 index.php

2)第二步,Routing會決定將請求發送到 step-3 做緩存檢查處理,還是發送到 setp-4 做安全檢查

3)如果這個請求在緩存中不存在,那么Routing會將請求送到STEP-4做安全檢查。

4)在發送給應用程序控制器之前,提交數據的安全性已經接受了檢查。此后,控制器加載必要的模型、庫、幫助器、插件和腳本,然后傳遞給視圖View。

5)視圖用數據來渲染頁面,然后傳送給緩存。如果請求數據沒有被緩存保存,這時就會保存,以便將來再次請求時候能快速處理。

2.1 目錄結構

993ef85cf1eaac88f98a51c906f70f2b.png

CI目錄結構分成三部分:

. Application

. System

. User_guide

Application

這里包含所有用來構建你的應用所需要的代碼。主要包含:

Cache

Config      -- 程序的配置信息,如數據庫配置信息

Controllers

Core -- 你的應用的基礎類

Helpers

Hooks-- 提供一些修改Core的入口

Language -- 語言設置相關內容

Libraries --

Logs --

Models--

Third_party--

Views--

System

CI框架的一些核心代碼

Core -- CI的基礎核心。不要做任何修改!!要擴展功能請通過Application\Hooks

Database --

Fonts--

Helpers --

Language --

Libraries --

User_guide

CI的離線版應用指南。建議瀏覽一下

此外,這些文件夾之外還有一個很重要的文件,叫  index.php 。我們可以在這文件中設置應用環境和錯誤處理,也可以定義系統和應用文件夾名。在你還不確定要做什么之前,建議你不要去修改這些東西。

3. MVC框架

CI基於 MVC 設計模式。MVC是一種將應用邏輯和表現分庫的軟件設計機制。在實踐中,它僅允許你在Web頁面中包含最小的腳步,因為表現層從PHP腳本中分離了。

6adadd2b1a4a46a66fa68ed0a4f88295.png

M: Model 代表你的數據結構。典型得,model類包含你從數據庫里檢索、插入和更新信息的功能。

V: VIEW 視圖是展現給用戶的信息。通常是一個Web頁面,但是在CI里,也可以是頁頭或者頁尾。也可以是一個RSS頁或者其他任何類型的“頁面”。

C: Controller 控制器為視圖和數據提供服務,以及其他任何需要處理HTTP請求並產生頁面的資源。

4. 基本概念

4.1 控制器

轉到 application/controllers 目錄,你會看到2個文件 index.html Welcome.php,這是CI自帶的。

在該目錄下新建一個文件 “Test.php” , 寫入如下代碼

創建控制器

class Test extends CI_Controller {

public function index() {

echo "Hello World!";

}

}

?>

Test類擴展了 CI_Controller 類。當你想創建自己的控制器時,就擴展它。

調用控制器

通過下面的路徑來調用剛才創建的控制器

http://www.your-domain.com/index.php/test

請注意,類名 Test 用大寫開頭,但在URI里,用小寫 test. 基本調用方法:

http://www.your-domain.com/index.php/controller/method-name

創建和調用構造方法

修改上面的類,增加一個方法 hello

class Test extends CI_Controller {

public function index() {

echo "This is default function.";

}

public function hello() {

echo "This is hello function.";

}

}

?>

可以通過以下三種方式來調用和執行控制器:

http://www.your-domain.com/index.php/test

http://www.your-domain.com/index.php/test/index

http://www.your-domain.com/index.php/test/hello

當我們在瀏覽器中執行時候,會發現 第一種和第二種調用得到了相同的結果。因為index是控制器默認的被調用方法

4d2fcc4ea1b739b88579bbb43977af74.png

訪問第三個URL,得到 this is hello function

小結:

1)Controller的名字必須以大寫開頭

2)調用controller必須用小寫開頭

3)不要使用和父類相同的方法名,否則會覆寫掉父類方法

4.2 視圖

視圖可以簡單或復雜,可以包含頁頭頁腳或者邊條。在 application/views 下創建一個名為 test.php 的文件,然后寫入:

CodeIgniter View Example

CodeIgniter View Example

修改此前的 test.php (application/controllers/test.php)如下

class Test extends CI_Controller {

public function index() {

$this->load->view('test');

}

}

?>

視圖可以通過如下的方式加載

$this->load->view('name');

$this->load->view('directory-name/name');

不需要寫上.php的后綴,除非你要加載其他類型的視圖。

index()方法會調用view方法,然后傳入 test 作為參數給 view() 因為我們在application/views/ 下創建了 test.php

87a16c8dc2967fd9ffa3c3dd15334831.png

從下面這張圖中可以清晰的看到,這些過程是如何起作用的

640715a822b7f4a5c7dc716c76834418.png

4.3 模型

定義

Class Model_name extends CI_Model {

Public function __construct() {

parent::__construct();

}

}

?>調用

$this->load->model('model_name');

$this->model_name->method();

4.5 路由  Routing

一個典型的路由模式

xxxcom/clas/method/id/

控制器類名/方法名/參數

某些情況下,你可能需要修改路由規則,那么可以在 application/config/routes.php中修改

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值