2008年10月14日火曜日

次期サイトの進捗とか

順調に Aria III の設計が進んでいます。

描いている構想を、機能ごとに分けて、
レイアウトを考えて、
データベースのテーブル構造を考えないといけないです。


とりあえず、基本となるページの構造は完成しました。
ヘッダーファイル、フッターファイル、
CSS ファイルなどを分けつつ、
Zend Framework で動かせられるようになりました。


今年の 5 月くらいにも Zend Framework の勉強をしていたのですが、
いまいち、オブジェクト指向プログラミングとか
フレームワーク の MVC とか言ったものが理解できていませんでした。


仕事の関係で、EC CUBE (オープンソースのショッピングシステム) などを
カスタマイズする機会があり、それに触れているうちに
オブジェクト指向とかフレームワークってものが
良く分かるようになりました。


その甲斐もあって、今では自分でも驚くほど
Zend Framework の仕組みがよく分かります。

勉強してみて初めて分かりましたが、
この本はあまり良くないです。

まぁ入門書だから、わかりやすくするためだから仕方ないと言われれば
そうかもしれないのですが、プログラムの組み立て方が変です。

例えばデータベースの接続情報のような
サイト内のどこでも使いそうな情報は
フロントコントローラに書くべきだと思います。
が、この本では色んなファイルの先頭に
同じ接続情報を書いてたりします。


私も Zend Framework の駆け出しで
理想のコードの書き方というものは分かりませんが、
自分なりに模索して、開発速度とメンテナンス性の高い
サイトを作り上げていきたいと思います。

色々なサイトや本などを参考にして調べながら、
このように初期設定ファイルを書いてみました。

【index.php】

<?php
/**
* index.php
*
* フロントコントローラー
*
* LICENSE: Miracle Maple by Mirage is licensed
* under a Creative Commons 表示-非営利-継承 2.1 日本 License.
*
* @category   Miracle Maple
* @package    index
* @version    $Id:$
* @link       http://www.maple-aria.com/
* @since      File available since Release 1.0.0
* @copyright  Copyright (c) 2008 未来樹
* @license    http://creativecommons.org/licenses/by-nc-sa/2.1/jp/     Creative Commons BY-NC-SA
*/

// Zend Framework の読み込み
$ZEND_DIRECTORY = 'D:/Users/Mirage/Documents/Websites/Aria3/class/library/';
set_include_path(get_include_path() . PATH_SEPARATOR . $ZEND_DIRECTORY);

require_once
'Zend/Config/Ini.php';
require_once
'Zend/Controller/Front.php';
require_once
'Zend/Controller/Action.php';
require_once
'Zend/Db/Table/Abstract.php';
require_once
'Zend/Layout.php';
require_once
'Zend/Loader.php';

/**
* Maple_Index
*
* ブートストラップクラス
*
* 各種設定情報のロードと初期化および
* フロントコントローラーのセットアップ
*
* @version    Release: @package_version@
* @link       http://www.maple-aria.com
* @since      Class available since Release 1.0.0
* @copyright  Copyright (c) 2008 未来樹
* @license    http://creativecommons.org/licenses/by-nc-sa/2.1/jp/     Creative Commons BY-NC-SA
*/
class Maple_Index
{
    
private $app_root = $_SERVER['DOCUMENT_ROOT'] . '/application';
    
/**
     * フロントコントローラーのセットアップ
     *
     * ホスト名から自動的に環境を判別する。
     * @return string
     */
    
public function __construct()
    {
        
// データベース設定
        
$datasource = new Zend_Config_Ini($this->doc_root . '/library/config.ini'),
                                          
'datasource');
        
$db = Zend_Db::factory($datasource->database);
        
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
        
Zend_Db_Table_Abstract::setDefaultAdapter($db);
        
$db->query("SET NAMES 'utf8'");

        
// レイアウト設定
        
$layout = Zend_Layout::startMVC($this->doc_root . '/layout');

        
// モデル設定
        
set_include_path(get_include_path() . PATH_SEPARATOR . $this->app_root . '/modules/default/models');
        
Zend_Loader::registerAutoload();

        
// フロントコントローラ設定
        
$front = Zend_Controller_Front::getInstance()
                ->addModuleDirectory($registry->get('MODULE_PATH'))
                ->setParam('IMAGE_PATH''/library/image')
                ->setParam('CSS_PATH''/library/css')
                ->setParam('JS_PATH''/library/js')
                ->dispatch();
    }
}

// アプリケーションの起動
$bootstrap = new Maple_Index();
?>



4 件のコメント:

匿名 さんのコメント...

サイト構築中のお忙しい時期にこんな事書くのもどうかと思いましたが、一応・・・。

スキルデータの所の、ダークナイトのスキル、バーサークですが、発動%、攻撃力増加量(ダメージ)が違うようです。

現在確認出来ないのでうろ覚えの範囲ですが、スキルレベル8で発動%は20%↑、ダメージも140%↑だったのを記憶しています。

またちゃんと確認したいと思います・・・><

匿名 さんのコメント...

急がしそうな時分にもうしわけありません。。。
相互リンク希望しているのですが;;w

STRONGUなchocolatedさん(ブログ名)
http://56968469.at.webry.info/

できればここにリンクしていただけるとうれしいです・・・w

匿名 さんのコメント...

↑↑でバーサークのコメントしたユキアです。

どうやら上方修正されたようで、
現在スキルLv11で、「HPが26%以下の場合、ダメージ152%」となっています。
次のLvで「27%以下の場合、ダメージ154%」となっていて、これまでもその上がり方をしてきたので間違い無いと思いますが1Lv上がる毎に「発動HP%が1%、ダメージ%は2%上昇」となっているようです。

また、修正の方お願いします><

未来樹ですヾ(*´∀`*)ノキャッキャ さんのコメント...

> ユキアさん

ご報告いただきありがとうございます。
情報を確認し、修正いたしました。


> chocolated さん

リンクいたしました。
今後ともよろしくお願いします。