Tag: CakeShop

1-A1 商品の詳細を表示する Edit

最初のイテレーションなので、いろいろとやることがある。
インストール手順などは、メモで残しつつWiki上に書いていくこと!(忘れないうちに)

イテレーション番号1
対象ユースケースA-商品を注文する
期間2007-01-29〜2007-02-04
メンバーopaken
目標調べることいっぱいだが、頑張って環境を一通り整理し、1画面でも見れるようにすること!

基本仕様整理 Edit

  • Wikiに基本仕様となるユースケースや特徴(要望)などをまとめる

動作環境構築 Edit

開発ツール Edit

データベース Edit

  • MySQL 4.4(XAMPPに入っている)
  • phpMyAdminを使ってDB操作をする
    http://localhost/phpmyadmin/
  • データベースは、とりあえずローカルのみ準備
    ホストDB名ユーザーパスワード
    localhostcakeshopcakeshopcakeshop
  • phpMyAdminの新規データベース作成時に、接続照合順序を「utf8_unicode_ci」にして作成すること!(これを忘れると後で文字化けします)

サーバ Edit

ソース管理、バグ管理 Edit

ルール Edit

  • イテレーション番号
    イテレーション番号−ユースケース番号+ユースケース毎の通番とする
    (例)1-A1 = イテレーション1で「A 商品を注文する」ユースケースの1回目を意味する
  • コーディングルールはどうする?
  • Trac(チケット、マイルストーン)の運用はどうする?
  • バージョンの付け方
    cakeshop_0_1_イテレーション番号
    とする。
    イテレーション完了時にタグを付けて管理する。
  • ドキュメント
    Wiki上に書いていくこと。絵や図などは、手書きで残しておいても良い。(無くさないように)

アーキテクチャ(フレームワーク) Edit

  • CakePHP 1.1を基盤として構築する。
    • cake_1.1.12.4205.zip
  • その他、ライブラリは随時、吟味しながら入れていく。

テーブル設計 Edit

  • CakeShop/テーブル設計を考える。
  • とりあえず必要と思われる項目を入れる。
  • 基本的には商品の情報は1つのテーブルで管理する。
  • 在庫は、別のテーブルで管理するので、後で考える。

テーブルの準備 Edit

  • phpMyAdminでテーブルを作る。
  • とりあえず手入力・・・
    • 最終的にWikiの表組みからDDLに変換するツールを作りたいな・・・

プロジェクトの準備 Edit

  • CakePHPの1.1系の最新をダウンロードする。
  • Eclipseのworkspace/cakeshopに解凍したものを置く。
  • もともとのappをコピーして、shopフォルダはフロント系、kitchenフォルダは管理系として用意する。
  • .htaccessの修正が必要
    • shop/.htaccessに下記を追加
      RewriteBase    /cakeshop
    • shop/webroot/.htaccessに下記を追加
      RewriteBase    /cakeshop/webroot
    • kitchen/.htaccessに下記を追加
      RewriteBase    /cakekitchen
    • kitchen/webroot/.htaccessに下記を追加
      RewriteBase    /cakekitchen/webroot
  • httpd.confに下記を追加
    Alias /cakeshop "C:/eclipse_pdt/workspace/cakeshop/shop/"
    <Directory "C:/eclipse_pdt/workspace/cakeshop/shop/">
      Options FollowSymLinks Indexes MultiViews ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
    Alias /cakekitchen "C:/eclipse_pdt/workspace/cakeshop/kitchen/"
    <Directory "C:/eclipse_pdt/workspace/cakeshop/kitchen/">
      Options FollowSymLinks Indexes MultiViews ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
  • database.phpの修正
    • shop/config/database.php.defaultの名前をdatabase.phpに変更して下記のように修正
      var $default = array('driver' => 'mysql',
        'connect' => 'mysql_connect',
        'host' => 'localhost',
        'login' => 'cakeshop',
        'password' => 'cakeshop',
        'database' => 'cakeshop',
        'encoding' => 'utf8',
        'prefix' => '');
      ※encodingをutf8にできるように後でMySQLのコネクト部分のソースを修正する。
    • kitchen/config/database.php.defaultの名前をdatabase.phpに変更して先程と同様に修正

MySQL文字化け対応 Edit

  • CakePHPのMySQL用DBOを修正する。
    • cake/libs/model/dbo/dbo_mysql.php
      connect関数の所を下記のように修正
      if (mysql_select_db($config['database'], $this->connection)) {
        $this->connected = true;
        // encoding add start
        if(!empty($config['encoding'])){
          $this->query("SET NAMES '".$config['encoding']."'");    
        }
        // encoding add end
      }

画面のテンプレートレイアウト Edit

  • よさげのレイアウトをいれておく。
  • shopとkitchenで違うものにしておく。(見分けつけるように)

CRUDページ Edit

  • decorateを使ってkitchenフォルダにGoodsテーブルのCRUDを作る。
  • テストデータをCRUDで完成したページから入力して作る。

商品表示ページの実装 Edit

  • CRUDで作ったviewの部分を参考に、ControllerとModel、Viewを作る。
  • Modelは、kitchen側のものを利用するように、shopフォルダのconfig設定でPATHを修正する。

デモページの用意 Edit

ふりかえり Edit

イテレーション終わったら、ふりかえりをしましょう!

Keep(よかったこと) Edit

Problem(わるかったこと) Edit

Try(次回挑戦) Edit

関連ページ Edit

ページ新規作成:

コメント Edit


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS