Lithium Framework

下載

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

方法一、使用 git

  1. 執行 ssh-keygen,再把產生的 .ssh/id_rsa.pub 內容複製下來

  2. http://rad-dev.org/users/add register 一個帳號

  3. 登入該申請的帳號,貼上 .ssh/id_rsa.pub 內容

  4. 執行:

    $ cd /tmp
    $ git clone code@rad-dev.org:lithium.git lithium-git
    $ cd lithium-git; git checkout-index -a -f --prefix=</path/to/myroot/>

方法二、直接下載

  1. http://rad-dev.org/lithium/versions 挑選你要的版本
  2. 下載並解壓縮到 </path/to/myroot>

安裝

  1. 打開 http://localhost/myroot 來查看,會告訴你需要設定 myroot/app/resources 為可讀寫,所以:

    $ cd <path/to/myroot>
    $ chmod -R 0777 app/resources
  2. 如果要設定 DB,則修改 myroot/app/config/bootstrap/connections.php 的設定,比如資料庫已經建立好,為 li3:

    Connections::add('default', array(
         'type' => 'database',
         'adapter' => 'MySql',
         'host' => 'localhost',
         'login' => 'root',
         'password' => '',
         'database' => 'li3'
    ));

然後再打開 http://localhost/myroot 查看,看到這兩行,就代表已經設定好了:

Resources directory is writable.
Database connection(s) configured.

建立簡易的 blog system

  1. 新增 posts 資料表,如下:

    CREATE TABLE IF NOT EXISTS `posts` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(255) NOT NULL,
      `body` text NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  2. 使用 console script li3 建立 post 的 controller, model, test:

    $ li3 create post
    
    (會新增以下檔案)
    
    myroot/app/controllers/PostsController.php
    myroot/app/models/Post.php
    myroot/app/tests/cases/controllers/PostsControllerTest.php
    myroot/app/tests/cases/models/PostTest.php
  3. 建立對應 PostController 的 view

    1. PostController 內容有:

      public function index()
      public function view()
      public function add()
      public function edit()
    2. 因應 PostController 建立 myroot/app/views/posts 各檔案,內容如下:

      index.html.php:

      <html>
          <head>
              <title>post list</title>
          </head>
          <body>
      <?php
      foreach($posts as $post):
      ?>
          <h1><?php echo $post->title;?></h1>
          <p><?php echo $post->body;?></p>
      <?php
      endforeach;
      ?>
          </body>
      </html>

      view.html.php:

      <html>
          <head>
          <title><?php echo $post->title;?></title>
          </head>
          <body>
              <h1><?php echo $post->title?></h1>
              <p><?php echo $post->body;?></p>
          </body>
      </html>

      add.html.php:

      <?=$this->form->create(); ?>
          <?=$this->form->field('title');?>
          <?=$this->form->field('body', array('type' => 'textarea'));?>
          <?=$this->form->submit('Add Post'); ?>
      <?=$this->form->end(); ?>

      edit.html.php:

      <?=$this->form->create($post); ?>
          <?=$this->form->field('title');?>
          <?=$this->form->field('body', array('type' => 'textarea'));?>
          <?=$this->form->submit('Edit Post'); ?>
      <?=$this->form->end(); ?>
  4. 分別打開這些網址進行操作

IRC

以下兩個都是 freenode 的 channel

  1. #li3 - 一般問題討論
  2. #li3-core - bug 或開發方向

內容目錄

上一個主題

Recess Framework

下一個主題

php_flag and php_value on httpd.conf

本頁