<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 加載靜態內容 **Note:**?這篇教程假設你已經下載好 CodeIgniter ,并將其?[安裝](http://codeigniter.org.cn/user_guide/installation/index.html)?到你的開發環境。 你要做的第一件事情是新建一個?**控制器**?來處理靜態頁面,控制器就是一個簡單的類, 用來完成你的工作,它是你整個 Web 應用程序的 “粘合劑” 。 例如,當訪問下面這個 URL 時: > [http://example.com/news/latest/10](http://example.com/news/latest/10) 通過這個 URL 我們就可以推測出來,有一個叫做 "news" 的控制器,被調用的方法為 "latest" , 這個方法的作用應該是查詢 10 條新聞條目并顯示在頁面上。在 MVC 模式里,你會經常看到下面 格式的 URL : > [http://example.com/[controller-class]/[controller-method]/[arguments](http://example.com/[controller-class]/[controller-method]/[arguments)] 在正式環境下 URL 的格式可能會更復雜,但是現在,我們只需要關心這些就夠了。 新建一個文件 application/controllers/Pages.php ,然后添加如下代碼。 ~~~ <?php class Pages extends CI_Controller { public function view($page = 'home') { } } ~~~ 你剛剛創建了一個?Pages?類,有一個方法 view 并可接受一個 $page 參數。?Pages?類繼承自?CI_Controller?類,這意味著它可以訪問CI_Controller?類(?system/core/Controller.php?)中定義的方法和變量。 控制器將會成為你的 Web 應用程序中的處理請求的核心,在關于 CodeIgniter 的技術討論中,這有時候被稱作?**超級對象**?。和其他的 PHP 類一樣,可以在 你的控制器中使用?$this?來訪問它,通過?$this?你就可以加載類庫、 視圖、以及針對框架的一般性操作。 現在,你已經創建了你的第一個方法,是時候創建一些基本的頁面模板了,我們將 新建兩個視圖(頁面模板)分別作為我們的頁腳和頁頭。 新建頁頭文件?application/views/templates/header.php?并添加以下代碼: ~~~ <html> <head> <title>CodeIgniter Tutorial</title> </head> <body> <h1><?php echo $title; ?></h1> ~~~ 頁頭包含了一些基本的 HTML 代碼,用于顯示頁面的主視圖之前的內容。 另外,它還打印出了?$title?變量,這個我們后面講控制器的時候再講。 現在,再新建個頁腳文件?application/views/templates/footer.php?,然后添加以下代碼: ~~~ <em>&copy; 2015</em> </body> </html> ~~~ ## 在控制器中添加邏輯 你剛剛新建了一個控制器,里面有一個?view()?方法,這個方法接受一個參數 用于指定要加載的頁面,靜態頁面模板位于?application/views/pages/?目錄。 在該目錄中,再新建兩個文件?home.php?和?about.php?,在每個文件里隨便 寫點東西然后保存它們。如果你沒什么好寫的,就寫 "Hello World!" 吧。 為了加載這些頁面,你需要先檢查下請求的頁面是否存在: ~~~ public function view($page = 'home') { if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php')) { // Whoops, we don't have a page for that! show_404(); } $data['title'] = ucfirst($page); // Capitalize the first letter $this->load->view('templates/header', $data); $this->load->view('pages/'.$page, $data); $this->load->view('templates/footer', $data); } ~~~ 當請求的頁面存在,將包括頁面和頁腳一起被加載并顯示給用戶,如果不存在, 會顯示一個 "404 Page not found" 錯誤。 第一行檢查頁面是否存在,file_exists()?是個原生的 PHP 函數,用于檢查某個 文件是否存在,show_404()?是個 CodeIgniter 內置的函數,用來顯示一個默認的 錯誤頁面。 在頁頭文件中,$title?變量用來自定義頁面的標題,它是在這個方法中賦值的, 但是注意的是并不是直接賦值給 title 變量,而是賦值給一個?$data數組的 title 元素。 最后要做的是按順序加載所需的視圖,view()?方法的第二個參數用于向視圖傳遞參數,?$data?數組中的每一項將被賦值給一個變量,這個變量的名字就是數組的鍵值。 所以控制器中?$data['title']?的值,就等于視圖中的?$title?的值。 ## 路由 控制器現在開始工作了!在你的瀏覽器中輸入?[your-site-url]index.php/pages/view?來查看你的頁面。當你訪問?index.php/pages/view/about?時你將看到 about 頁面, 包括頁頭和頁腳。 使用自定義的路由規則,你可以將任意的 URI 映射到任意的控制器和方法上,從而打破 默認的規則: http://example.com/[controller-class]/[controller-method]/[arguments] 讓我們來試試。打開文件?application/config/routes.php?然后添加如下兩行代碼, 并刪除掉其他對?$route?數組賦值的代碼。 ~~~ $route['default_controller'] = 'pages/view'; $route['(:any)'] = 'pages/view/$1'; ~~~ CodeIgniter 從上到下讀取路由規則并將請求映射到第一個匹配的規則,每一個規則都是 一個正則表達式(左側)映射到 一個控制器和方法(右側)。當有請求到來時,CodeIgniter 首先查找能匹配的第一條規則,然后調用相應的控制器和方法,可能還帶有參數。 你可以在關于?[URI 路由的文檔](http://codeigniter.org.cn/user_guide/general/routing.html)?中找到更多信息。 這里,第二條規則中?$routes?數組使用了通配符?(:any)?可以匹配所有的請求, 然后將參數傳遞給?Pages?類的?view()?方法。 現在訪問?index.php/about?。路由規則是不是正確的將你帶到了控制器中的?view()?方法?實在是太棒了!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看