摘要:如何配置默認控制器如果不設置,默認方法是哪個目錄中配置默認方法無法設置默認方法,要不就在指定參數,要不就是不指定參數如果不設置參數,默認方法是如何載入視圖視圖用文件夾區分的話,必須帶上文件夾名稱如果視圖文件不是,那么需要寫上后綴名如
如何配置默認控制器?如果不設置,默認方法是哪個?
目錄 application/config/routes.php 中配置
$route["default_controller"] = "home";
$route["default_controller"] = "home/add";
默認方法
無法設置默認方法,要不就在url指定m參數,要不就是不指定m參數
如果不設置m參數,默認方法是index()如何載入視圖?
$this->load->view("home");
$this->load->view("index/home"); //視圖用文件夾區分的話,必須帶上文件夾名稱
如果視圖文件不是.php,那么需要寫上后綴名如下
$this->load->view("home.html");
視圖公共部分如何載入
$this->load->view("head");
$this->load->view("home");
$this->load->view("foot");
更加優雅地引入公共視圖 在home.php引入 load->view("head"); ?> code-code load->view("foot"); ?>如何載入模型?載入后如何使用模型?
手動載入
$this->load->model("user"); //載入User模型
第二參數:模型別名 string 第三參數:是否自動連接數據庫 bool (數據庫連接一般放在自動連接配置中)
自動載入
在application/config/autoload.php中,修改如下:
$autoload["model"] = array("user"); //載入User模型
模型使用
$this->model_name->method();推薦使用原生PHP來替代模板引擎
輸出變量
流程控制:分支
//if // code // code // code //switch // code // code // code
流程控制:循環
//while(注意,沒有 do…while 的語法) // code //for // code //foreach // code輔助函數如何導入?輔助函數的優先級
手工導入
$this->load->helper("url");
自動導入
在 application/config/autoload.php 中添加 $autoload["helper"] = array("url");
輔組函數優先級
application 下的自定義輔組函數 優先于 system下的輔助函數如何安全獲取輸入?
獲取 GET 參數
$param = $this->input->get("key",TRUE) // XSS filter
$param = $this->input->get("key",FALSE) // NO XSS filter
如果請求的數據不存在,則返回 NULL (下面方法也一樣)
獲取 POST 參數
$param = $this->input->post("key")
獲取 PUT、DELETE、PATCH 參數
$param = $this->input->raw_input_stream;$param = $this->input->input_stream("key", TRUE); // XSS Clean
$param = $this->input->input_stream("key", FALSE); // No XSS filter
獲取 COOKIE 參數
$param = $this->input->cookie("some_cookie", TRUE); // with XSS filter
獲取 SERVER 參數
$param = $this->input->server("some_data"); //獲取$_SERVER數據
獲取 PATHINFO 參數
$product_id = $this->uri->segment(3, 0); //獲取第三個片段數據,如果沒有默認0怎樣數據驗證?驗證不通過該如何處理?
加載表單驗證類
$this->load->library("form_validation");
設置驗證規則
$this->form_validation->set_rules("email", "Email", "required");
執行驗證
$ret = $this->form_validation->run(); //成功返回True,否則返回false
表單輔助函數
$this->load->helper("form");
然后在視圖中可以輸入如下代碼:
" />如何重寫URL? 如何設置偽靜態?
重寫URL -- 隱藏index.php
//以apache為例 開啟mod_rewrite模塊 把對應的目錄AllowOverride設為All 在根目錄下新建.htaccess文件 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
必須在config中找到config["index_page"] = ""
偽靜態 -- url后面補充.html
必須在config中找到config["url_suffix"] = ".html"如何開啟調試模式?如何開啟頁面緩存?
開啟調試
$this->output->enable_profiler(TRUE);
$this->output->enable_profiler(FALSE); //禁用
開啟頁面緩存
$this->output->cache($n); //在控制器中調用系統核心類如何替換與擴展?
系統核心類位于:system/core/
注意:系統核心類只可以替換與擴展,不能創建新的
替換
// 文件位于目錄 application/core // 類名要與核心類名一樣 CI_開頭 // 文件名要與系統核心文件名一樣 例如:Input.php class CI_Input { }
擴展
// 文件位于目錄 application/core // 類名和文件名必須以 MY_ 開頭。(這是可配置的) 例如:MY_Input.php // 類必須繼承自父類 class MY_Input extends CI_Input { }系統類庫有哪幾種? 不同類型的類庫如何加載使用?
有2種
1、普通類庫文件 位于system/libraries
2、驅動器 位于system/libraries/驅動器目錄
加載普通類庫文件
$this->load->library("class_name");
加載驅動器
$this->load->driver("class_name");類庫文件如何創建自己類庫? 如何替換和擴展系統類庫?
創建自己類庫
//在application/libraries目錄下,創建自己的類庫文件 class Someclass { public function some_method() { } }
替換系統類庫
//在application/libraries目錄下,創建與系統類庫文件同名的類庫文件 例如: //application/libraries/Email.php 文件 class CI_Email { }
擴展系統類庫
//在application/libraries目錄下,你的新類名和文件名必須以 MY_ 為前綴 例如: //application/libraries/MY_Email.php 文件 //類在定義時必須繼承自父類 class MY_Email extends CI_Email { }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25695.html
摘要:昨天發了一篇即插即用適用于框架的微信網頁授權模塊,今天想了想干脆整理一個腳手架好了。如果你是使用的開發者但只是需要一個微信網頁授權模塊而不是整個框架你可以查看我的另一個倉庫它是即插即用的。 昨天發了一篇《即插即用!適用于CodeIgniter框架的微信網頁授權模塊》,今天想了想干脆整理一個腳手架好了。 Github倉庫: CodeIgniter-Weixin_Template歡迎交流和...
摘要:核心變化從第一版發布以來,社區發生了巨大變化。這意味著系統必須全部重寫。暫時不會為一個即將停止支持的版本發布新版本。路由路由功能將被更新。改進的日志系統日志系統將被改進,但具體細節尚未確定。第一階段第一階段將側重于抓住框架最重要的部分。 我們綜合考慮了社區的愿望和意見后,也對什么樣的未來對 CI 是最合適的做了一些思考,然后,CI 理事會對框架的未來做出了一些決策。預告一下,未來將會有...
摘要:要你自定義的類庫中訪問的原始資源你必須使用函數這個函數返回一個一般來說在你的控制器函數中你可以通過調用任何可用的函數只直接作用在你自己的控制器模型和視圖中當你在自定義類中想使用原始類時你可以這樣做首先定義對象賦給一個變量一旦定義 要你自定義的類庫中訪問CodeIgniter的原始資源,你必須使用 get_instance() 函數.這個函數返回一個CodeIgniter super o...
摘要:它提供一套豐富的標準庫以及簡單的接口和邏輯結構,其目的是使開發人員更快速地進行項目開發。文件放在里類名首字母必須大寫,并繼承的類訪問的路徑為項目名入口控制器名控制器的方法參數。 有的沒的 showImg(http://segmentfault.com/img/bVbOml);阿大鎮文(-_-メ)~ 阿大你太黑了,回去洗把臉看看有沒有救~ 學習背景 CI是一個比較流行的PHP MV...
摘要:把如下代碼添加到目錄下的文件中類的構造函數之前,這其實就是進行變量聲明,文件也是同樣操作。舉一個我項目中的例子。該類只需要一個構造函數完成上述功能即可。 最近再給一個APP寫API,同時還要寫相應的后臺管理網站。為了便于開發和代碼組織與管理,我決定采用一個現有的框架。Codeigniter由于其輕量容易自定制的特點吸引了我,一路開發過來也有大半年時間了,寫下一些自己在開發過程中的一些體...
閱讀 5036·2021-07-25 21:37
閱讀 683·2019-08-30 15:53
閱讀 3350·2019-08-29 18:47
閱讀 687·2019-08-29 15:39
閱讀 2130·2019-08-29 13:12
閱讀 1798·2019-08-29 12:43
閱讀 2978·2019-08-26 11:52
閱讀 1890·2019-08-26 10:15