Ethna導入したものの… [PHP関係]
開発環境の勉強ということでEthnaに手をつけたものの、
VisualStudioでMFCアプリケーション作った時も思ったんですが、
(゜д゜´)既存コード達が何をやってるかわからないのに、実装できるかい!
いえ、だから勉強するんですけどね……。
正直どこから手をつけたものやら。
で、色々調べていたんですが、まずは画面の表示処理を理解した方が早いわ、
と思ってEthnaAPIのソースを読むことに。
で、画面遷移からアクション実行~ビュー表示までの処理を平た~くするとこんな感じ?
1. ブラウザでwwwディレクトリ以下のファイルにアクセス
2. Controllerクラスのmainメソッド呼び出し
3. Formクラスのフォーム値インポート処理
4. Actionクラスのauthenticateメソッド
5. Actionクラスのprepareメソッド
6. Actionクラスのperformメソッド
7. 4~7で返された遷移名を利用してViewクラスの画面表示処理
で、覚えておきたいのはこんな感じ?
・Actionクラスが生成された時点で、既にFormクラスにはフォーム値が設定されている
・Actionクラスではauthenticate、prepare、performの順にメソッドが呼ばれる
・Actionクラスはメソッド3ついずれかで遷移先を返さなければならない
また、いずれかで遷移先を返してしまうと、次のメソッドは呼ばれない。
例えば、authenticateで戻り値にnull以外を指定すると、その後のprepare、performは呼ばれない。
・各メソッドには以下の指針に従って実装する。
authenticate:セッション制御
prepare:Formクラスの値のフォーマットチェック
perform:ロジック処理
なんかコレだけを理解するためにエライ苦労した気がする……
MSDNに頼りっぱなしな生活してると、こういう時に苦労するね。
VisualStudioでMFCアプリケーション作った時も思ったんですが、
(゜д゜´)既存コード達が何をやってるかわからないのに、実装できるかい!
いえ、だから勉強するんですけどね……。
正直どこから手をつけたものやら。
で、色々調べていたんですが、まずは画面の表示処理を理解した方が早いわ、
と思ってEthnaAPIのソースを読むことに。
で、画面遷移からアクション実行~ビュー表示までの処理を平た~くするとこんな感じ?
1. ブラウザでwwwディレクトリ以下のファイルにアクセス
2. Controllerクラスのmainメソッド呼び出し
3. Formクラスのフォーム値インポート処理
4. Actionクラスのauthenticateメソッド
5. Actionクラスのprepareメソッド
6. Actionクラスのperformメソッド
7. 4~7で返された遷移名を利用してViewクラスの画面表示処理
で、覚えておきたいのはこんな感じ?
・Actionクラスが生成された時点で、既にFormクラスにはフォーム値が設定されている
・Actionクラスではauthenticate、prepare、performの順にメソッドが呼ばれる
・Actionクラスはメソッド3ついずれかで遷移先を返さなければならない
また、いずれかで遷移先を返してしまうと、次のメソッドは呼ばれない。
例えば、authenticateで戻り値にnull以外を指定すると、その後のprepare、performは呼ばれない。
・各メソッドには以下の指針に従って実装する。
authenticate:セッション制御
prepare:Formクラスの値のフォーマットチェック
perform:ロジック処理
なんかコレだけを理解するためにエライ苦労した気がする……
MSDNに頼りっぱなしな生活してると、こういう時に苦労するね。
PHP環境構築のトラブル [PHP関係]
最近、不況の煽りを受けて仕事があんまりないです。
間違えた。全然ないです。
そんなもんで入社以来ずっとWindowsアプリ開発に携わっていたんですが、
最近は別グループのWebアプリのお手伝いをすることになりました。
PHPなんて大学以来ですよ! 懐かしいなぁ!
で、今回の開発は Eclipse + Ethna + Smarty + PHP + MySQLにApatch ってなわけでして。
最初につまづくのはやっぱり環境構築なんですよねー……
Pleades All in One日本語ディストリビューションのPHP版をインストール
これはダウンロードして、解凍するだけ。超楽勝!
Eclipse環境セットアップ
解凍ディレクトリ\xampp\setup_xampp.batをたたくだけ。超楽勝!
Ethna環境セットアップ
コマンドプロンプトで以下実行!
cd 解凍ディレクトリ\xampp\php
pear channel-discover pear.ethna.jp
pear update-channels
pear install -a ethna/ethna
なんかエラー出た(゜д゜`)
最初のpear channel-discoverでもうエラーが出る。
色々検索かけてみたら、考えられる理由は2つ。
バージョンの問題
検索かけるとよく引っかかるのがコッチ。
ダウングレードしてあげれば解決。
pear upgrade -f PEAR-1.4.6
プロキシの問題
ダウングレードもエラーが出るんですが、って場合はコッチ。
私の場合、コッチでした。職場で実行している方はコッチが原因ってことも。
プロキシ設定を変更してあげれば解決。
$pear config-set http_proxy XXXXXX:YYYY
XXXXXXがproxyアドレスでYYYYがポート番号です。
あと、パッケージのダウンロードで失敗する、なんて方はメモリサイズを変更すればOKらしい。
ファイル名:php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
memory_limit = 8M ;ここ
↓
memory_limit = 16M ;適当なちょっと大きめな値に
で、インストールが終わったら早速動かしてみる。
http://localhost/にアクセスして、なんか(Xamppページ)出ればOKなわけですが、
ここでもエラー(´・ω・`)
XAMPPコントローラー(解凍ディレクトリ\xampp\xampp-control.exe)を立ち上げると
Apacheが実行されません。
原因はいろいろあるかもしれないけど、調べたらなんとも素敵な解答をみつけました。
Skypeをインストールしている場合、設定によってはApatchとポート番号の競合を起こしているらしいです。
http://www.karate-style.jp/2007/08/22/xampp-3/
素敵すぎる!(゜∀゜)
ここまできたら、何かのログイン画面を作って表示してみる。
DBエラー(´;ω;`)
動くと思ってすっかり忘れていたんですが、DBにはちゃんとパスワードを設定してあげないといけません。
http://localhost/にアクセスして、左側のメニューから[セキュリティ]を選んで新しいパスワードを設定してあげましょう。
これでどうにか動くようになりました。
なんだか環境構築する度にトラブルに見舞われ、挙句色々破壊して、
入社して一番最初につけられた「デストロイヤー」って称号を思い出しますな。
間違えた。全然ないです。
そんなもんで入社以来ずっとWindowsアプリ開発に携わっていたんですが、
最近は別グループのWebアプリのお手伝いをすることになりました。
PHPなんて大学以来ですよ! 懐かしいなぁ!
で、今回の開発は Eclipse + Ethna + Smarty + PHP + MySQLにApatch ってなわけでして。
最初につまづくのはやっぱり環境構築なんですよねー……
Pleades All in One日本語ディストリビューションのPHP版をインストール
これはダウンロードして、解凍するだけ。超楽勝!
Eclipse環境セットアップ
解凍ディレクトリ\xampp\setup_xampp.batをたたくだけ。超楽勝!
Ethna環境セットアップ
コマンドプロンプトで以下実行!
cd 解凍ディレクトリ\xampp\php
pear channel-discover pear.ethna.jp
pear update-channels
pear install -a ethna/ethna
なんかエラー出た(゜д゜`)
最初のpear channel-discoverでもうエラーが出る。
色々検索かけてみたら、考えられる理由は2つ。
バージョンの問題
検索かけるとよく引っかかるのがコッチ。
ダウングレードしてあげれば解決。
pear upgrade -f PEAR-1.4.6
プロキシの問題
ダウングレードもエラーが出るんですが、って場合はコッチ。
私の場合、コッチでした。職場で実行している方はコッチが原因ってことも。
プロキシ設定を変更してあげれば解決。
$pear config-set http_proxy XXXXXX:YYYY
XXXXXXがproxyアドレスでYYYYがポート番号です。
あと、パッケージのダウンロードで失敗する、なんて方はメモリサイズを変更すればOKらしい。
ファイル名:php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
memory_limit = 8M ;ここ
↓
memory_limit = 16M ;適当なちょっと大きめな値に
で、インストールが終わったら早速動かしてみる。
http://localhost/にアクセスして、なんか(Xamppページ)出ればOKなわけですが、
ここでもエラー(´・ω・`)
XAMPPコントローラー(解凍ディレクトリ\xampp\xampp-control.exe)を立ち上げると
Apacheが実行されません。
原因はいろいろあるかもしれないけど、調べたらなんとも素敵な解答をみつけました。
Skypeをインストールしている場合、設定によってはApatchとポート番号の競合を起こしているらしいです。
http://www.karate-style.jp/2007/08/22/xampp-3/
素敵すぎる!(゜∀゜)
ここまできたら、何かのログイン画面を作って表示してみる。
DBエラー(´;ω;`)
動くと思ってすっかり忘れていたんですが、DBにはちゃんとパスワードを設定してあげないといけません。
http://localhost/にアクセスして、左側のメニューから[セキュリティ]を選んで新しいパスワードを設定してあげましょう。
これでどうにか動くようになりました。
なんだか環境構築する度にトラブルに見舞われ、挙句色々破壊して、
入社して一番最初につけられた「デストロイヤー」って称号を思い出しますな。