1. 程式人生 > >yii1.1核心原始碼分析(1)目錄結構說明

yii1.1核心原始碼分析(1)目錄結構說明

framework框架核心庫

1.base底層類庫資料夾包括CApplication:(應用類,負責全域性的使用者請求處理,它管理的應用元件集,將提供特定功能給整個應用程式);CComponent(元件類,該檔案包含了基於元件和事件驅動程式設計的基礎類,從版本1.1.0開始,一個行為的屬性(或者它的公共成員變數或它通過getter和/或setter方法定義的屬性)可以通過元件的訪問來呼叫);CBehavior(行為類,主要負責宣告事件和相應事件處理程式的方法、將物件的行為附加到元件等等);CModel(模型類,為所有的資料模型提供的基類);CModule(是模組和應用程式的基類,主要負責應用元件和子模組)等等

2.caching 所有快取方法,其中包含了Memcache快取,APC快取,資料快取,CDummyCache虛擬快取,CEAcceleratorCache快取等等各種快取方法

3. cli YII專案生成指令碼

4.collections 用php語言構造傳統OO語言的資料儲存單元。如:佇列,棧,雜湊表等等 

5.console YII控制檯

6.db 資料庫操作類

7 .gii YII 程式碼生成器(腳手架),能生成包括模型,控制器,檢視等程式碼  

8. i18n YII 多語言,提供了各種語言的本地化資料,資訊、檔案的翻譯服務、本地化日期和時間格式,數字等 

9.logging 日誌元件,YII提供了靈活和可擴充套件的日誌記錄功能。訊息記錄可分為根據日誌級別和資訊類別。應用層次和類別過濾器,可進一步選擇的訊息路由到不同的目的地,例如檔案,電子郵件,瀏覽器視窗,等等

10.messages 提示資訊的多語言

11.test YII提供的測試,包括單元測試和功能測試 

12.utils 提供了常用的格式化方法

13.validators 提供了各種驗證方法

14.vendors 這個資料夾包括第三方由Yii框架使用的資料庫

15.views 提供了YII錯誤、日誌、配置檔案的多語言檢視 

16.web YII所有開發應用的方法 

附:17.actions 控制器操作類 ,auth 許可權認識類包括身份認證,訪問控制過濾,基本角色的訪問控制等 ,filters 過濾器,可被配置在控制器動作執行之前或之後執行。例如,訪問控制過濾器將被執行以確保在執行請求的動作之前使用者已通過身份驗證;效能過濾器可用於測量控制器執行所用的時間 

18.helpers 檢視助手,包含GOOGLE AJAX API,建立HTML,JSON,JAVASCRIPT相關功能,services 封裝SoapServer並提供了一個基於WSDL的Web服務,widgets 部件,CArrayDataProvider.php 可以配置的排序和分頁屬性自定義排序和分頁的行為,CController.php 控制器方法,主要負責協調模型和檢視之間的互動

相關推薦

yii1.1核心原始碼分析1目錄結構說明

framework框架核心庫 1.base底層類庫資料夾包括CApplication:(應用類,負責全域性的使用者請求處理,它管理的應用元件集,將提供特定功能給整個應用程式);CComponent(元

AFNetworking3.1.0原始碼分析詳解AFHTTPRequestSerializer 之初始化方法

1:類圖介紹 在AFHTTPSessionManager 初始化方法中可以看到 AFNetworking 預設使用的網路請求序列化類是AFHTTPRequestSerializer,一下是關於它的類圖: 2:類功能分析:  一:初始化函式: - (instancetyp

AFNetworking3.1.0原始碼分析整體框架和功能模組

簡介 1:基於系統NSURLSession類族封裝完成HPPT/HPPTS(GET,PUT,PSOT,DELEATE,HEAD)網路請求 2:擴充套件部分UIKit控制元件,比如擴充套件UIIMag

libev原始碼分析----基礎結構

本篇文章主要分析libev中常用到且十分重要的結構。libev的程式碼很簡練,除了對高效I/O模型等的封裝檔案,核心檔案就兩個:ev.h和ev.c,其中ev.c大概4000行左右。程式碼大量用到了巨集,並且巨集還嵌套了巨集,為了便於理解libev的程式碼,這裡對巨集進行了還原

mybatis 原始碼分析框架結構概覽

本篇部落格將主要對 mybatis 整體介紹,包括 mybatis 的專案結構,執行的主要流程,初始化流程,API 等各模組進行簡單的串聯,讓你能夠對 mybatis 有一個整體的把握。另外在 mybatis 原始碼的閱讀過程中,如果不想寫 demo 可以直接使用專案中的單元測試; 一、mybatis 結構介

vue 原始碼學習 目錄結構和構建過程簡介

Flow vue框架使用了Flow作為型別檢查,來保證專案的可讀性和維護性。vue.js的主目錄下有Flow的配置.flowconfig檔案,還有flow目錄,指定了各種自定義型別。 在學習原始碼前可以先看下Flow的語法 官方文件 目錄結構 vue.js原始碼主要在src下 src ├── com

Mybatis原始碼分析1—— Mapper檔案解析

感覺CSDN對markdown的支援不夠友好,總是伴隨各種問題,很惱火! xxMapper.xml的解析主要由XMLMapperBuilder類完成,parse方法來完成解析: public void parse() { if (!configuration.isRes

Spring原始碼分析IoC容器的實現1

    Ioc(Inversion of Control)——“控制反轉”,不是什麼技術,而是一種設計思想。在Java開發中,Ioc意味著將你設計好的物件交給容器控制,而不是傳統的在你的物件內部直接控制。理解好Ioc的關鍵是要明確“誰控制誰,控制什麼,為何是反轉(有

比特幣BTC原始碼分析1:地址生成過程

一、生成一個比特幣錢地址 二、根據原始碼整理比特幣地址生成過程 1、取得公鑰PubKey 2、使用 RIPEMD160(SHA256(PubKey)) 雜湊演算法,取公鑰並對其雜湊兩次 3、給雜湊加上地址生成演算法版本的字首 4、對於第二步生成的結果,使用SHA256(SHA256

以太坊ETH原始碼分析1:地址生成過程

一、生成一個以太坊錢包地址 通過以太坊命令列客戶端geth可以很簡單的獲得一個以太坊地址,如下: ~/go/src/github.com/ethereum/go-ethereum/build/bin$geth account new INFO [11-03|20:09:33.219]

jdk原始碼分析1java.lang.Object

java.lang.Object原始碼分析 public final native Class<?> getClass() public native int hashCode(); public boolean e

tensorflow原始碼分析1

variable類:        通過例項化Variable類可以新增一個變數到graph,在使用變數之前必須對變數顯示的初始化,初始化可以使用assign為變數賦值也可以通過變數本身的initializer方法。     &nb

Android7.1 [Camera] Camera Hal 原始碼分析

原始碼平臺:rk3399   命令列ls看下原始碼的結構 hardware/rockchip/camera/CameraHal: lib目錄 原始碼的檔案看起來有點多,我們看看Android.mk檔案, 這些檔案最終編譯成camera.rk30bo

ES5.6.2原始碼分析1:準備工作

1、gradle安裝 下載4.5版本,解壓後配置環境變數即可。 注:gradle安裝完成後, 為了加快依賴檔案的下載需要在使用者目錄中新建init.gradle檔案(讓全域性可見,build時會用到)。檔案的具體內容為: 目錄:C:\Users\admin.gradle

Spring原始碼分析IoC容器的依賴注入1

    依賴注入的過程是使用者第一次向IoC容器索要Bean時才觸發的,當然也有例外,可以在BeanDefinition資訊中通過控制lazy-init屬性來讓容器完成對Bean的預例項化。這個預例項化實際上也是一個完成依賴注入的過程,但它是在初始化的過程中完成的。

1.1spring啟動原始碼分析ClassPathXmlApplicationContext

spring啟動原始碼分析(ClassPathXmlApplicationContext) Applicantioncontext uml圖 ClassPathXmlApplicationContext xml 配置檔案專案中的路徑 FileSystemXml

tensorflowV1.11-原始碼分析1

##</Users/deepmyhaspl/docs/tensorflow-src/tensorflow-r1.11>####[4]|<====configure.py=====>|## # Copyright 2017 The TensorFlow Authors. All

Django rest framework原始碼分析1----認證

目錄 一、基礎 1.1.安裝 兩種方式: pip install djangorestframework 1.2.需要先了解的一些知識 理解下面兩個知識點非常重要,django-rest-framework原始碼中到處都是基於CBV和麵向物件的封裝 (1)面向物件封裝的兩大特性

Android6.0的Looper原始碼分析1

Android在Java標準執行緒模型的基礎上,提供了訊息驅動機制,用於多執行緒之間的通訊。而其具體實現就是Looper。 Android Looper的實現主要包括了3個概念:Message,MessageQueue,Handler,Looper。其中Message就是

libevent原始碼分析1

有過看nginx原始碼的基礎,現在來看libevent原始碼,感覺要輕鬆多了。。 第一篇文章,主要是還是介紹一些幾個重要的資料結構吧。。。。 首先是event結構:struct event { TAILQ_ENTRY (event) ev_next; //用於構成eve