Recess Framework

安裝

以下以 http://localhost/ 作為網站位置,以 myroot 作為網站目錄位置

步驟:

$ cd /tmp
$ git clone git://github.com/recess/recess.git
$ cd recess; git checkout-index -a -f --prefix=</path/to/myroot/>
$ cd </path/to/myroot>
$ sudo chown -R www apps data/temp data/sqlite # www 是 http server 的權限

  1. 修改 recess-conf.php,比如使用 MySQL or SQLite,例如使用 SQLite:

    RecessConf::$defaultDatabase
        = array(        'sqlite:' . $_ENV['dir.bootstrap'] . 'data/sqlite/default.db'
                    //'mysql:host=localhost;dbname=DBNAME', 'USER', 'PASS'
                );
  2. 修改 apache config 打開 mod_rewrite 等設定,或是自行撰寫其他 http server 的設定

  3. 使用瀏覽器打開 http://localhost/myroot 位置,看到 “Welcome to Recess!” 頁面,就是安裝成功

操作

  1. http://localhost/myroot/recess 使用所謂的 Recess Tools

  2. Recess Tools 項目如下:

    Apps

    Browse and create apps, generate models & scaffolding, and view an app’s routes.

    Database

    Ensure database connectivity and perform basic DB operations.

    Code

    Introspect your project’s code.

    Routes

    View routes for all active applications.


範例:建一個簡易的 blog system

  1. 打開 http://localhost/myroot/recess

  2. 按下 Start a New Application,連結是 http://localhost/myroot/recess/apps/new

  3. 輸入名字 ‘My blog’ 以及程式名 ‘blog’,然後按 Next Step

  4. 確認你的 blog 程式 URL(比如 blog/),然後按下 Next Step

  5. 此時你的 myroot/apps 會增加一個 blog 目錄,檔案有:

    .
    └── blog
        ├── BlogApplication.class.php
        ├── controllers
        │   └── BlogHomeController.class.php
        ├── models
        ├── public
        │   ├── css
        │   ├── i
        │   │   └── powered_by.gif
        │   └── js
        └── views
            ├── home
            │   └── index.html.php
            ├── layouts
            │   └── master.layout.php
            └── parts
                ├── navigation.part.php
                └── style.part.php
  6. 到 myroot/recess-conf.php 修改 RecessConf::$applications 為:

    RecessConf::$applications
         = array(
             'recess.apps.tools.RecessToolsApplication',
             'blog.BlogApplication', # <-- 就是增加這行
           );
  7. 然後就可以點到 My blog 的連結,亦即 http://localhost/myroot/recess/apps/BlogApplication

  8. 接下來的步驟是:建 Model、建 Controller、建 View,不過我們選擇了一個偷懶的方式,就是使用自動生成程式碼的方式
    1. 在 Model(new) 按下 new 的連結

    2. 在 Model Class Name: 輸入 Post

    3. 選擇 Table does not exist.

    4. Properties 新增 title, content, created, updated,並設定資料型態

    5. 按下 Generate Model 按鈕,此時就會產生 myroot/apps/blog/models/Post.class.php,內容如下:

      <?php
      /**
       * !Database Default
       * !Table posts
       */
      class Post extends Model {
              /** !Column PrimaryKey, Integer, AutoIncrement */
              public $id;
      
              /** !Column String */
              public $title;
      
              /** !Column Text */
              public $content;
      
              /** !Column DateTime */
              public $created;
      
              /** !Column DateTime */
              public $updated;
      
      }
      ?>
    6. 再按下 Generating Scaffolding,會幫你生成以下檔案,亦即 Generating RESTful Post Controller:

      myroot/apps/blog/controllers/PostController.class.php
      myroot/apps/blog/views/layouts/post.layout.php
      myroot/apps/blog/views/post/
  9. 然後你要做什麼?到 http://localhost/myroot/blog/ 去看你的成果,比如,點下 Post 連結,然後實踐操作看看那些自動完成,而你完全沒有寫到一行 code 的 Post 方法

內容目錄

上一個主題

PHP 設定目前目錄為 include_path

下一個主題

Lithium Framework

本頁