zoukankan      html  css  js  c++  java
  • 换掉CakePHP说明首页

    前提:你已經做好相關設定,如果還沒有的話,請見:CakePHP 1.2 簡易安裝與設定 
    I. CakePHP 目錄說明:
    在寫程式之前,先了解CakePHP是如果安排程式的目錄。基本上,1.1版和1.2版沒有什麼差別。
    app 
    cake 
    docs 
    index.php 
    vendors 

    app: 主要是放你網站的程式與靜態的html網頁。
    cake: CakePHP的核心程式,當有問題時,也可以到這邊來拆解CakePHP的程式;因為目前CakePHP的說明還不是非常的完整,有時會需要用拆解程式的方式來了解如何使用。
    docs: 顧名思義,就是放一些CakePHP的說明文件。
    vendors: 如果你有使用其他open source的套件,可以放在這個地方。

    app內的目錄:
    config: 放設定檔的目錄,可以參考 CakePHP 1.2 簡易安裝與設定 。 
    controllers: 放controller程式的目錄,不懂什麼是Controller? 請參考:CakePHP說明 - Controller 
    locale: 放多國語言的訊息設定檔,這個也是CakePHP 1.2 的新功能。 
    models: 放model 程式的目錄,不懂什麼是Model? 請參考:CakePHP說明 - Model 
    plugins: 放別人寫好的CakePHP程式。 
    tmp: 顧名思義,放一些暫存檔的目錄,有 log, cache 等。 
    vendors: 同上面的vendors。 
    views: 放網路程式版型的目錄。請參考:CakePHP說明 - View 
    webroot: 放靜態網頁的目錄滿,包含圖片, javascript, css等。 

    參考網頁: http://book.cakephp.org/view/19/cakephp-file-structure

    II. 開始你的第一個程式:home_controller.php
    首先在 your_cakephp1.2/app/controller 下產生一個檔名是 home_controller.php (為何是 程式_controller.php 方式命名?這是cakephp的規則,請照做!),內容如下:
    <?php
    class HomeController extends AppController {
    public $name = 'Home';
    public $uses = null;
    // 首頁
    public function index() {
    }// end index
    }
    ?>

    在 your_cakephp1.2/app/views 下,產生一個目錄是 home,在 your_cakephp1.2/app/view/home/ 下,產生一個檔名是 index.ctp (註:1.1的副檔名是.thtml,1.2是 .ctp)。index.ctp內容如下:
    <div>
    <?php
    echo 'hello world';
    ?>
    </div>

    程式完成後,請到 app/config下,修改 routes.php 把預設的 Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 改成 Router::connect('/', array('controller' => 'home', 'action' => 'index', 'index')); 下面另外兩個設定,基本上也不需要了,可以把它們註解! 

    完成上面的步驟,再重新訪問你的網站,就可以看到你首頁的內容了。不過版型還是很奇怪,主要是因為現在的版型外框還是套用cakePHP的版型。請copy一份 your_cakephp1.2/cake/libs/layouts/default.ctp 到 your_cakephp1.2/app/views/layouts下。原本的 default.ctp 內容如下:
    <?php
    /* 一堆註解... (省略)*/
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>
    <?php __('CakePHP: the rapid development php framework:'); ?>
    <?php echo $title_for_layout; ?>
    </title>
    <?php
    echo $html->charset();
    echo $html->meta('icon');
    echo $html->css('cake.generic');
    echo $scripts_for_layout;
    ?>
    </head>
    <body>
    <div id="container">
    <div id="header">
    <h1><?php echo $html->link(__('CakePHP: the rapid development php framework', true), 'http://cakephp.org'); ?></h1>
    </div>
    <div id="content">
    <?php
    if ($session->check('Message.flash')):
    $session->flash();
    endif;
    ?>
    <?php echo $content_for_layout; ?>
    </div>
    <div id="footer">
    <?php echo $html->link(
    $html->image('cake.power.gif', array('alt'=> __("CakePHP: the rapid development php framework", true), 'border'=>"0")),
    'http://www.cakephp.org/',
    array('target'=>'_new'), null, false
    );
    ?>
    </div>
    </div>
    <?php echo $cakeDebug; ?>
    </body>
    </html>
    其實index.ctp,可以當成是.php程式,可以有html和php程式碼。

    Header內的程式碼:
    <?php __('CakePHP: the rapid development php framework:'); ?> 這一行可以刪除,網頁的title總不能顯示不是我們網站的訊息吧。
    <?php echo $title_for_layout; ?> 建議保留,如此一來,每個Controller的action可以自行定義網頁的title。當然如果不需要的話,也可刪除,直接填上你的網站title。
    echo $html->charset(); 建議保留,會去讀取 core.php 的App.encoding設定(預設是UTF-8)。
    echo $html->meta('icon'); favicon 設定,可以刪除,改成自己的
    echo $html->css('cake.generic'); css 設定,可以刪除,改成自己的。
    echo $scripts_for_layout; javascript 程式,可以刪除。

    Body內的程式碼:
    除了 <?php echo $content_for_layout; ?> 外,其他都可以替換成自己的內容。<?php echo $content_for_layout; ?>主要是CakePHP處理版型時會用到的,也就是顯示剛剛的index.ctp內容的地方。另外,<?php echo $cakeDebug; ?> 也建議保留,在開發模式(core.php中的 Configure::write('debug', 3))時,會顯示所有的變數內容,當改成release模式時(core.php中的 Configure::write('debug', 0)),這裏是不會顯示任何內容的!

    如果完成上面的步驟,已經改寫首頁了!
    原文http://otaku.kigi.tw/2008/03/cakephp-12-cakephp.html

  • 相关阅读:
    快速学习javaSE基础4---面向对象的编程
    eclipse 小技巧,设置输入任何字母都有快捷提示.
    快速学习javaSE基础3-java必须了解的基本语法2(熟记)
    快速学习javaSE基础3-java必须了解的基本语法1(熟记)
    数据可视化之导入数据
    pandas读取Excel文件
    pandas进阶
    给定地球上两点的经纬度,求两点之间沿地球表面最短的弧线距离
    06异常
    05设计模式
  • 原文地址:https://www.cnblogs.com/derrck/p/1454229.html
Copyright © 2011-2022 走看看