2011/03/24

symfonyで掲示板作成

php講習 3/24

今日も外の掃除は寒かった。

1時間目
・昨日の復習
プロジェクトの確認
アプリケーションの確認
プロジェクト直下でモジュール作成
フォルダ構成の確認

・eclipse,phpソースの整形方法(便利)
Ctr + Shift + F

・昨日の課題の答え合わせ
アクション(action.class.php)
テンプレート(inputSuccess.php,confirmSuccess.php,resultSuccess.php)

2時間目
・続き、テンプレート(confirmSuccess.php)

・入力画面にメールアドレス(mailaddress)を追加し、完了画面まで渡す。(作業時間10分で)
アクション(action.class.php)
テンプレート(inputSuccess.php,confirmSuccess.php)

・今回の作業であやしい人は、新しい変数を追加して手順を確認する。

・昨日は、bbs2プロジェクトで、frontアプリケーションを作った
URLとモジュール、アクションの関係

正しくは、http://ドメイン名/アプリケーションのフロントコントローラ名/モジュール名/アクション名
一番最初に作成したフロントコントローラ名は省略可能

/bbs2/web/index.php
アプリケーションのフロントコントローラ
(全てのリクエストを受け取るところ)

・バックエンドアプリケーション(backend)作成
プロジェクト直下へ
symfony init-app backend
管理機能画面
アプリケーションごと(backend)のリクエストを受け取るフロントコントローラは、backend.php

・デフォルトモジュール作成
symfony init-module backend default
結果を確認

・バックエンドの機能確認

http://ドメイン名/アプリケーションのフロントコントローラ名/モジュール名/アクション名
backend.php/default/index
業界として、phpが付くのはかっこ良くない。
ここをbackendでアクセスできるようになる。設定と説明は午後。

3時間目
最初に作ったアプリケーションのモジュールにアクセスするときだけ、
フロントコントローラ名は省略出来ます。
2番目以降に作ったものは省略出来ません。
(backendは省略出来ません)

・backend.phpをbackendにする作業は、
今後アプリケーションを追加するときその都度作業するので忘れないように。
・アプリケーション名のディレクトリを作成
cd bbs2/web
mkdir backend
mv backend.php backend_dev.php ./backend
cp .htaccess ./backend

apacheの設定ファイルを変更
vi .htaccessで以下の2行を修正
  RewriteBase /
  RewriteRule ^(.*)$ /backend/backend.php [QSA,L]

パスを変更
backend.phpを修正
define('SF_ROOT_DIR',    realpath(dirname(__FILE__).'/../..'));
スタイルシートへのパスが切れているので、文字のサイズは変わった。

・アプリケーションを作成
・デフォルトモジュールを作成
・フロントモジュールでアクセス出来ることを確認
・設定を変更し、アプリケーション名でアクセス出来ることを確認する。

・アプリケーションを作成
symfony init-app backend
symfony init-app mypage

・デフォルトモジュールを作成
symfony init-module backend default
symfony init-module mypage default

・フロントモジュールでアクセス出来ることを確認
まず、アクションで出力
      print "backend" ;
      return sfView::SUCCESS;
次に、URLでアクセス

・設定を変更し、アプリケーション名でアクセス出来ることを確認する。
ディレクトリを作成し移動と、コピー
アクセスのための設定変更対象
.htaccess
backend.php

・出来た人は、別のアプリケーション(mypage)を作成して同じ作業を行う。
アクセス出来ないときは、ブラウザを一度閉じてから開くとアクセス出来ることがある。

4時間目
・作業をmypageで実施。
・作業手順があやふやな人は、アプリケーション、モジュールを作って作業をやってみる。

・会員登録のリンク
<a href="/member_add/input">会員登録</a>

・layout.phpの説明
<head>タグの内容は記述されていないが、以下のファイルで修正可能
設定ファイルを修正したら、コマンドを実行
symfony cc
  →変更が反映されなかった
>> file-  Permission denied in /usr/share/pear/symfony/vendor/pake/pakeFunction.php on line 197
# chomod 777 -R front
symfony ccをrootで実行すると権限がおかしくなることがあるらしい。

5時間目
keywords 検索エンジンで引くキーワード、カンマ区切り
個別に行うときは、部品化、もしくは、viewから削除

スタイルシートの指定も可能
デフォルトはmain /web/css/main.css
複数指定は、カンマ区切り
javascriptはいまは何もしない。
haslayout レイアウトを使わない設定も可能。
複数のレイアウトを使う設定も可能。

0 件のコメント:

コメントを投稿