




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、yum.sg項目接手文檔 第一部分 第4頁共5頁Codeigniter架構的使用說明教程陳德貴 2008-3-7 郵件:degui.chen目錄系統執行的流程圖1CodeIgniter默認啟動了重定向 :1CodeIgniter 中的 MVC架構:1添加新功能的實例:2主要應用的類使用說明:2架構中的類的職責說明:3架構的靜態結構圖:4系統執行的流程圖ApplkationController1. Index.php服務器前端控制器,初始化運行CodeIgniter必須的基本資源2. 路由器檢查HTTP請求,為了決定那部分需要執行。3. 如果緩存文件存在,它直接發送到瀏覽器,返回正常系統完成。4
2、. 安全,應用程序控制器被載入之前,HTTP請求和任何用戶提交數據被安全過濾。5. 控制器加載模型、核心庫、輔助文件和其他指定請求資源。CodeIgniter 默認啟動了重定向:Apche的配置大約和下面這個差不多.只是些圖片和JavaScript目錄不重寫向vVirtualHost *:80>RewriteEngine onRewriteCond $1 !A(Vcss|Vimages|Vjs|Vheader)RewriteRule A(.*)$ /index.php/$1 LServerAdmin degui.chenDocumentRoot /opt/wwwdata/yum.sg/S
3、erverName yum.sgErrorLog yum.sg-error_logCustomLog yum.sg-access_log common</VirtualHost>重定向中的URL各部分說明女口: www.your-第一個片段代表需要調用的控制器class。第二個片段代表需要調用的類中的function。第三個片段或更多片段代表傳遞給控制器的參數,可以是ID或任意變量。CodeIgniter 中的 MVC 架構:Controller 擔當一個在 Model與View 之間的中間層,文件所有位置的目錄是:systemapplicationcontrollersModel
4、扮演你的數據結構。文件所有位置的目錄是:systemapplicationmodelsView 視圖是一個 PHP的 WEB頁面。文件所有位置的目錄是:systemapplicationviews內部工作流:1. URL的控制器初始化系統初始化后,直接把控制權交給Controller ,在Controller的初始化時,會把需要的實例化常用的內部類(參考類說明部分),聚合到Controller對象中,作為Controler 的成員變量。2. URL的函數/方法在Controler 初始化后,即執行URL中第二個片段指定的函數,一般在這里載入Model獲取所需要的數據。當然在Controller
5、初始化時, 也可以載入Model.在般在Controller中載入的是通用的Model .而在函數中則載入專用的Model3. 視圖顯示處理View視圖是由控制器載入,因為 View 視圖是一個PHP文件。它的載入函數是在 Controller函數(即URL的函數/方法)內載入。載入時,系統會把controller的所有聚合的成員變量, 聚合到View 中。即:為什么可以在 Controller中使用的聚合對象,即:View 只是這個函數的內容。這就是可以在View中使用的原因:它的實現過程代碼大約如下:在Controller 的 函數內:$CI =& get Controller (
6、);foreach (get_object_vars($CI) as $key => $var) - if ( ! isset($this->$key) $this->$key& $CI->$key;添加新功能的實例:添加一個功能的過程:在控制器目錄(systemapplicationcontrollers)建立一個控制器文件(文件名是URL的第一個片段的名稱,類名是文件名的首字母大寫,其實類的函數是 URL的第二個片段的名稱)welcome.phpclass Welcome extends Controllerfunction Welcome()parent:
7、Controller();function index()/這里進行其他處理,如載入類庫,進行其他處理。$this->load->model(' welcome');$this->info = $this-> welcome-> getInfo()$this->load->view('welcome_message'); - 在模型目錄(systemapplicationmodels)建立一個模型文件(文件名是控制器載入的參數名=,類名是文件名的首字母大寫)welcome.phpclass Welcome extends
8、 Modelpublic function Welcome ()parent:Model();Public function getInfo() ,returnarray( degui.chen ');在視圖目錄(systemapplicationviews)建立一個視圖文件(文件名也是控制器函數中載入視圖時的參數名稱)welcome_message.php print_r($this->->info);一個控制器可以對應多個模型,和多個視圖.主要應用的類使用說明:載入器獲取當前的控制器$CI =& get_instance();用戶載入和實例化類庫,它為用戶的應用
9、程序控制器而設計$CI->load->library('email'); $CI->email->emailFunction();載入Model$CI->load->model('UserModel');$user_info = $CI->UserModel->GetUserlnfo($userid);載入視圖文件:文件的目錄在 system/application/views/直接輸岀$CI->load->view('viewsTests', array('parameter&
10、#39; => 'value'), false);直接返回結果$CI->load->view('viewsTests', array('parameter' => 'value'), true);載入助手文件(助手文件一般定義的都是些函數)$CI->load->helper('array');arrayHlperFuncton();載入語言文件:$CI->load->language($file_prefix = 'email', $idiom = &
11、#39;english');echo $CI->lang->line('email_must_be_array');獲取數據庫對象function getDatabaseObject()$CI =& get_instance();return $CI->db;插入數據到數據庫$table = 'test'$data = array('username' => 'username', 'password' => 'password'); $sql = $d
12、atabase_object->insert_string($table, $data);$result = $database_object->simple_query($sql);更新數據庫的數據$where = array('id' => $insert_id);$table = 'test'$data = array('username' => 'username update' . time(), 'password' => 'password' . time
13、(); $sql = $database_object->update_string($table, $data, $where);$result = $database_object->simple_query($sql);讀取數據庫的結果-$sql = 'SELECT * FROM 'test' LIMIT 0,30'$query_result = $database_object->query($sql);一行結果-$result = $query_result->result_object();$result = $query_r
14、esult->result_array();多行結果-$result = $query_result->result('object');$result = $query_result->result('array');讀取請求的URL參數:POST和FILES的數據直接讀取 $_POST和$_FILESGET的參數:$this->load->library('URI');女口 URL = http:/www.yum.sg/welcome/index/name/value/name1/value1/ $welcome
15、= trim($this->URI->slash_segment(1), '/');$index= trim($this->URI->slash_segment(2),'/');$name= trim($this->URI->slash_segment(3),'/');$value= trim($this->URI->slash_segment(4),'/');$name1= trim($this->URI->slash_segment(5),'/');$
16、value1= trim($this->URI->slash_segment(6),'/');架構中的類的職責說明:Auto_typography CI_Base CI_Benchmark CI_Calendar CI_Config CI_Email CI_Encrypt CI_Exceptions自動印刷類;格式化字符串,格式化新行。 實現單態函數,為了方便獲取控制器對象。標準檢查:二個標志之間共用的時間 和 內存使用量 動態創建日歷提供一種方法獲取配置參數,可以是默認是配置文件,也可以是自定義的配置文件。 電子郵件處理類。加密、解密類。異常處理類CI_FTPFT
17、PCI_Hooks CI_Image_lib CI_Input CI_Language CI_Loader處理類嵌入和修改架構內部工作方式,不修改核心文件。CodeIgniter運行它遵循一個指定執行過程。圖片處理類。如水印、調整大小請求輸入類,為了過濾請求數據的安全,和提供對請求數據庫的其他處理 目標是國際化,獲取語言文件和語言文件的一行內容。裝載類,負責載入類庫(類文件)、視圖文件、助手文件、插入文件和自定義文件且實例化它。CI_Log日志處理類, 記錄日志CI_Output CI_Pagination CI_Parser CI_Profiler CI_Router CI_Session輸
18、岀類,是為了發送最終的頁面結果到瀏覽器,它也為緩存頁面負責。 分頁類。剖析類,把標記替換成指定內容。性能統計/調試類,如請求的 SQL條數。 解釋URI,且決定運行過程的安排。會話處理類。CI_SHA SHA1 CI_Table HTML CI_Trackback CI_Unit_test CI_UploadCI_URI URI CI_User_agent CI_Validation編碼類表格創建類引用通告處理類。單元測試類文件上載處理類類,解釋URI,且決定運行過程的安排。用戶代理類,識別用戶的平臺、瀏覽器、機器在人。有效性驗證類CI_Xmlrpc CI_Xmlrpcs CI_Zip Zip
19、 ControllerModel Scaffolding Welcome XML_RPC_ClientXML-RPC請求處理類XML-RPC服務器類壓縮類應用程序控制器父類,模型和視圖都由它分配聚合的對象。 應用程序模型父類.腳手架,提供了一套在開發過程中快速方便的方法來添加,修改或刪除數據庫中的信息 應用程序控制器子類的一個實現,測試用的。XML-RPC客戶端XML_RPC_Message XML-RPC 消息類XML_RPC_Response XML-RPC 響應類 XML_RPC_ValuesXML-RPC 變量值類CI_DB_active_record數據庫有效記錄類,允許你使用最小的
20、腳本讀取、插入、更新你的數據庫 CI_DB_Cache數據庫緩存類,緩存你請求的結果,減小負載。CI_DB_driverCI_DB_resultCI_DB_utility數據庫驅動器.(父類)數據庫結果處理類,(父類)包含有效的函數,幫助你管理你的數據庫。(父類)CI_DB_mssql_driver數據庫驅動器.(子類)CI_DB_mssql_result 數據庫結果處理類,(子類)CI_DB_mssql_utility包含有效的函數,幫助你管理你的數據庫(子類)CI_DB_mysql_driver數據庫驅動器.(子類) CI_DB_mysql_result 數據庫結果處理類,(子類)CI_D
21、B_mysql_utility包含有效的函數,幫助你管理你的數據庫CI_DB_mysqli_driverCI_DB_mysqli_resultCI_DB_mysqli_utility數據庫驅動器.(子類)數據庫結果處理類,(子類)包含有效的函數,幫助你管理你的數據庫CI_DB_oci8_driverCI_DB_oci8_resultCI_DB_oci8_utility數據庫驅動器.(子類) 數據庫結果處理類,(子類) 包含有效的函數,幫助你管理你的數據庫CI_DB_odbc_driverCI_DB_odbc_resultCI_DB_odbc_utility數據庫驅動器.(子類)數據庫結果處理類
22、,(子類)包含有效的函數,幫助你管理你的數據庫(子類)(子類)(子類)(子類)CI_DB_postgre_driver數據庫驅動器.(子類)CI_DB_postgre_result數據庫結果處理類,仔類)CI_DB_postgre_utility包含有效的函數,幫助你管理你的數據庫。(子類)CI_DB_sqlite_driverCI_DB_sqlite_resultCI_DB_sqlite_utility數據庫驅動器.(子類)數據庫結果處理類,(子類)(子類)包含有效的函數,幫助你管理你的數據庫 架構的靜態結構圖:架構層的概念:控制器、模型、視圖、載入者、XML-RPC、輸入、輸岀、緩存、數據
23、庫驅動、數據庫查詢結果、語言、配置、有效 性驗證 輔助性類(如日志、電子郵件等)。yum.sg項目接手文檔 第一部分 第6頁共5頁-A rArTHF = r«Iri.J,InTiIS itj yn rh-i BihF 人 lft7Ffh R丸 < *3!>» s. Uz.!fcjrK.M Vny . icmy l 11' r J tr flii. copy 1115= m -n V.1MMbfr1-jh.Lii卜1 r Rdnlr4 Lj rj' -siKii ';Xmlrpt i" |XML_RPC1! F;:I:1:X af
24、c 1 i e:1 L_mJj企-Lim.smu 卻 |XIHL_RPC_ iluts r f _IIf4-*M'MWMA_JLtwJdir 1 I_I【id*!K L'itr_ngtn(-amm-Fnrier”姑IJUlUUCI ! 二謠*匚 | -L:J'常-電iI "e - - n斗傀東也ri :-結乘LondeFl- n X s r. tf-l >Ari J-T. H- hLXim eAt丹"=1 U3 «t'EBQ>l _ 忙 ! cmtwirlJair 嚴吁"邁 岑三匸 U;, X.U 3X . a -Rl Ttta. Xs. B » r-fcZ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱力設計合同
- 電腦采購合同
- 恒溫箱企業數字化轉型與智慧升級戰略研究報告
- 2025年造紙色漿項目發展計劃
- 冶金級稀土金屬企業ESG實踐與創新戰略研究報告
- 電動坡口機企業縣域市場拓展與下沉戰略研究報告
- 道路交通協管服務企業ESG實踐與創新戰略研究報告
- 2025年冷鏈裝備項目合作計劃書
- 玻璃制光學元件戰略市場規劃報告
- 中國石油大慶石化分公司高校畢業生招聘筆試真題2024
- 兒童滑膜炎護理查房
- 水閘安全鑒定綜合報告
- 瓦特改良蒸汽機課件
- 2024年螞蟻云客服支付寶云客服工作證客戶工作證培訓試題及答案
- 酒店水單模板
- NB-T31022-2012風電達標投產驗收規程1-風電發電場工程達標投產驗收專用
- 社會單位1234+N消防安全標準化管理達標評定標準
- 熔射(熱噴涂工藝)
- 地質災害防治培訓教學課件
- 光電子技術及應用(第2版)章節習題及自測題參考答案
- 特殊類型的類風濕關節炎診治進展
評論
0/150
提交評論