国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Codeigniter 4.0-dev 版源碼學習筆記之一——前言以及 CI 4 預覽

MSchumi / 2981人閱讀

摘要:版權聲明可轉載,但不論任何媒體都需要在轉載前與本人溝通,并在轉載時注明出處。的各個核心模塊以模塊名為目錄名分別存儲在這個目錄下。下一篇文章會涉及到和。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。

寫在前面:

為什么選擇開發過程中的 CI 4 作為源碼解讀版本:(1)首先我選 CI 是因為它之前的穩定版都是相對比較輕量小巧的,而且可以認為是簡單的。(2)為什么沒有選擇目前穩定的 3.x 版是因為我個人認為這個版本因為歷史包袱原因確實在理念方面有些老了,用它沒問題,但是學習它就不值得了。(3)選一個開發還沒有穩定版的原因:既然僅僅是學習,即使的不穩定版應該也不會耽誤我們去了解它,還有就是據說 CI 4 為了追趕潮流,用了很多的新特性,甚至直接提示 PHP 必須是7以上了。

寫本文的目的:學習為主,同時把心得分享給大家。

CI 4 發布了正式版后如何:我會經常關注 CI 4 的進展,如果正式版發布了,并且架構沒有太大變動,我會更新本文。

版權聲明:可轉載,但不論任何媒體都需要在轉載前與本人溝通(imustgxd*sina&cn),并在轉載時注明出處。

錯誤聲明:本人水平有限,該系列文章中可能會出現低級錯誤甚至“南轅北轍”的情況發生,請用中肯非激進的語言指正。

筆記時間:2017年4月。

P.S. 有一本書叫做《PHP 6 高級編程》,然后 PHP 跳過了,希望 CI 別跳過 4 ,不過無所謂啦,畢竟只是讀一下源碼而已。

下面進入正文:

CI 4 的下載和基本部署

CI 4 開發版是在 github (https://github.com/bcit-ci/Co... 上下載的,直接點擊 clone or download 下載 zip 包。

目前 CI 4 的文檔還沒有定稿,不過可以作為參考,網址是:https://bcit-ci.github.io/Cod...

參考文檔中的提示,我們把 CI 的zip包解壓,并且網站根目錄指向 public 文件夾。CI 4 參考了 Laravel 、 YII2 等流行框架的做法,不在將所有的源碼都扔進 web 服務器的可訪問目錄,這樣做會更安全些。舉個簡單例子,經常有黑客會找上傳漏洞,然后把未經許可的文件上傳到 web 目錄,如果上傳的是個 php 文件,同時又在里邊加了一些高權限的代碼,后果不堪設想,而如果是這種模式,那么就可以把 public 目錄在發布時設置成只讀模式,甚至設置成只執行 index.php 這一個腳本,那么就會安全多了。部署好后,我們訪問 http://localhost 如果看到了大大的 Welcome to CodeIgniter ,說明已經部署成功。

CI 4 源碼目錄

既然已經基本部署完畢,那么先來預覽一下目錄結構吧:

可以看到依舊是我們熟悉的 CI 味道。

application

application 是存儲我們應用源碼的位置。

/application
        /Config         存儲配置信息
        /Controllers    控制器存儲位置
        /Helpers        存儲自定義的輔助函數
        /Language       自定義的語言文件
        /Libraries      自定義的類庫
        /Models         數據庫模型以及業務邏輯
        /Views          視圖文件
public

public 是 web 服務器要指向的位置,另一些 CSS 以及圖片等資源文件也可以保存到這里。里面已經包含了 .htaccess 文件,默認就已經將 URL 路徑中的 index.php 去掉了,同時已經處理好了 CSS , 圖片 , html 等一些靜態資源,確保能直接訪問。

system

system 是 CI 核心源碼存放位置,我們需要解讀的大部分源碼都在這里。

CI 的各個核心模塊以模塊名為目錄名分別存儲在這個目錄下。在后續的章節會根據需要介紹到一部分。

其中 bootstrap.php , CodeIgniter.php 是 CI 執行流程過程中用到的核心文件。

bootstrap.php 會被 public 下的 index.php 調用,形象點說, index.php 是程序入口,就像是 PC 的開機鍵,bootstrap.php 就像是 BIOS 只負責基本程序的加載檢測以及準備過程,如自動加載等,CodeIgniter.php 更像是 PC 的 OS ,所有的模塊包括控制器、這種類庫就像是應用軟件一樣被 CodeIgniter.php 調用并加載。

先扔一張所謂的結構圖,供啟發一下思路,注意,不是流程圖。

test

此目錄是寫測試用例的地方,里邊有個readme.md 文件,可以參考此文件部署以及書寫測試用例。

writable

顧名思義,是可寫的文件夾,里邊存 CI 的緩存文件、日志文件、以及上傳文件。與源碼關系不大,現在不多說,等需要時再聊聊。

總結

本篇文章算是一個開頭,總體預覽一下 CI 的基本結構。下一篇文章會涉及到 index.php 和 bootstrap.php 。

此文可以轉載,但轉載前需要發郵件到imustgxd*sina.cn進行溝通,未溝通的均視作侵權。
轉載同時需注明原文鏈接 (https://segmentfault.com/a/11... ,并保留此段文字。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22898.html

相關文章

  • Codeigniter 4.0-dev 源碼學習筆記之二——入口以及初始化操作

    摘要:通過這個函數可以很方便的在程序運行期間執行很多常見操作。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。 index.php index.php 是整個框架的入口文件,也就是說所有的請求都要從它這里開始。因為 index.php 源碼非常簡潔,那么我們直接放一張源碼截圖,按著截圖說一下源碼。 showImg(https://segmentfault.com/img/re...

    _ivan 評論0 收藏0
  • Codeigniter 4.0-dev 源碼學習筆記之三——核心文件 Codeigniter.ph

    摘要:行,是否強制訪問。行,嘗試處理此次請求,詳細見方法。至此,的執行主流程完畢。小結是的核心文件,它被調用后,完成了諸多的主流程操作。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。 前言 Codeigniter.php 是 CI 4 的核心所在,在這里接收并處理了 request 請求,安全檢查,緩存處理, URL 解析以及路由匹配,執行過濾器,加載運行 Controll...

    alighters 評論0 收藏0
  • Codeigniter 4.0-dev 源碼學習筆記之四——詳細路由過程

    摘要:行,判斷如果為空,那么返回默認路由。行,把處理完畢后找到的返回。方法該方法是自動按著約定規則去目錄去找路由的過程。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。 前言 我個人覺得在當前 MVC 流行的架構下,要想去了解一個框架,或者是一個基于此架構下的應用程序,最好的入手方式就是先看路由,雖然路由不是 MVC 里的任何一個,但是知道了路由的來龍去脈就知道了整個框架或者...

    NSFish 評論0 收藏0
  • Codeigniter 4.0-dev 源碼學習筆記之五——相對于 3.x 的變化

    摘要:支持命名空間是沒有支持命名空間的。配置文件不再是簡單數組了新的配置文件是以對象組織的,各個配置以對象的屬性形式暴露出來。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。 前言 CI 為了追上大家的腳步,這次跨了一大步,盡量使用了更多的流行設計理念,甚至連 PHP 的支持版本都是從 7 開始起步的。我在之前閱讀源碼的同時也發現了很多變化的地方,在此把已經發現的列舉出來,不...

    Youngdze 評論0 收藏0
  • Codeigniter 4.0-dev 源碼學習筆記之七—— View 視圖

    摘要:行處理視圖文件名后綴。結語從源碼上看,使用了原始作為模版機制使得視圖邏輯非常簡單。無非也就是把視圖進來,用輸出緩沖把執行結果拿到即可。此文可以轉載,但轉載前需要發郵件到進行溝通,未溝通的均視作侵權。 前言 CI 的 View 沒有像 Laravel 等一些流行框架一樣設計的那么重,有自己的一套模版機制,CI 一直采用純天然的 PHP 模板形式,純天然的好處是不用再學習一套模板語言了,缺...

    LiangJ 評論0 收藏0

發表評論

0條評論

MSchumi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<