My favorites | Sign in
Project Logo
                
Search
for
Updated Dec 13, 2009 by nishim314
Labels: Featured
WhatsLaiz  
Laizとは

Laiz - PHPフレームワーク

PHP5用のMVCフレームワーク。 テンプレートエンジンにHTML_Template_FlexyのPEAR依存なし版Flyを更に変更して使っている。

概要

LaizはPHPでシステムを簡単に作成することを目的としたフレームワークで

という基本方針で手軽に利用できることが目的。

テンプレートエンジンと連携するために、HTML_Template_Flexyの変更版Flyを同梱している。 (内容は http://www.n314.com/Flexy/rebuild.php こちら。)

「柔軟なPHPをより柔軟に」が目的なので、コーディングを統一・強制するという目的には向いない。フレームワークの基本が分かっている人が、より手軽に記述量を減らして簡単にシステムを作れる、というのが目的である。

Rails以降流行の(?)ジェネレータはない。ジェネレータを使わなければならないほど複雑なスケルトンが必要、というフレームワークが個人的に好きではないから。

動作確認済の環境

特徴

一般的にDIコンテナやインジェクションと呼ばれている機能を活用してページを作っていくが、特別な設定は不要なのでインジェクションなどの用語をここでは使わない。

例えばアクションクラスでは

<?php
class SomeAction
{
    public function execute(SomeClass $obj)
    {
        /* 何らかの操作 */
    }
}

と書くことにより、SomeClassが自動的に生成される。また、Fly変更版によって

<?php
class SomeAction
{
    public $items; /* loop表示 */
    public $item;  /* 通常の変数表示 */

    public function execute(Laiz_Db_Factory $factory)
    {
        $dao = $factory->create('item');
        $this->item = $dao->getVo(1);  /* itemテーブルでプライマリキーが1の行を取得 */
        $this->items = $dao->getVos(); /* 全item取得 */
    }
}
<html>
<body>
<p>単一:
  {item.itemId} - {item.itemName} <!-- SomeAction->item の値 -->
</p>
<p>全て:
  {loop:items} <!-- SomeAction->items をforeachし、スコープが切り替わる -->
    {itemId} - {itemName} <br>
  {endloop:}
</p>
</body>
</html>

このような少ない記述でデータベースアクセス・一覧表示が可能。 ここでitemテーブルの列名対応などは自動取得されている。


Sign in to add a comment
Hosted by Google Code