1.Viewファイル内において<?php ?>を使用してもいいのか
2.SESSIONを使用する場合はクラスを用いらなければならないのか?
if(isset($_SESSION['name']) && isset($_SESSION['message']))
などPHPと同じ書き方ではいけないのか
$_SESSION['name']$_SESSION['message']→Session::set('name', 'message'); ??
3.DBに関してはModelを使用するが、クエリの実行などはどのように書くのか?
($A = $DB->Query($sql);などのような書き方ではいけないのか)
4.掲示板作成しており、入力・確認・一覧と3画面あるがすべてのファイルをHTML・PHP・DBにわけて
作成するのか??
(DBのファイル/クラスは読み込み?)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
PHP歴1年、fuelPHP歴半年程度で参考になるかわかりませんが...
1.Viewで<?php ... ?>を使用してもいいか
Viewの範囲内ならいいと思います。
たとえば、画像を表示する際、どの拡張子のファイルが入っているかわからないときなどは
lang
1~~~ 2<td> 3<?php 4$ext_array = array( "{$fname}.png", "{$fname}.jpg", "{$fname}.jpeg", "{$fname}.gif" ); 5foreach( $ext_array as $ext ) { 6 if( file_exists(IMG_PATH . $ext) ) { 7 echo "<img src='" . IMG_URL_PATH . $ext . "' />"; 8 break; 9 } 10} 11?> 12</td> 13~~~
といった形で私は使うこともあります。↑の場合もファイルの有無をControllerで判別して
lang
1<td> 2<?php 3 echo "<img src='" . IMG_URL_PATH . $fname . "' />"; 4?> 5</td>
のほうがより良い気もしますが、ケースバイケースです。
2.Sessionクラスを使わねばならないか
使ったほうが便利な気はします。ただそれだけです。
3.クエリの実行について
クエリはCrudなどを使って Model_Test::find_all(); などが便利ですが
ややこしいSQL文をベタで書くときは次のようにしています。
(検索結果を配列で受け取るために as_array をつけてます)
lang
1$sql = "select a from b"; 2$result = \Fuel\Core\DB::query($sql, \Fuel\Core\DB::SELECT)->execute()->as_array(); 3if( $result === false ) 4{ 5 // エラー処理 6}
更新系なら
lang
1$sql = "update a set b = c"; 2$result = \Fuel\Core\DB::query($sql, \Fuel\Core\DB::UPDATE)->execute(); 3if( $result === false ) 4{ 5 // エラー処理 6}
です。
4.掲示板作成
私が作るならController 1つ、Model 1つ、View 3つです。
(HTML、PHP、DBに分けるというのがわかりませんが)
lang
1/**************************************** 2** Controller 3****************************************/ 4class Controller_Bbs extends Controller 5{ 6 public function action_index() { 7 // 記事などを検索して一覧表示用のViewを開く 8 } 9 public function action_edit() { 10 if( \Fuel\Core\Input::post() ) { 11 $val = $this->validation_form(); 12 if( $val->run() ) { 13 // Validation通過時の処理。この後、確認用のViewを開く 14 } else { 15 // Validation通過しないときの処理 16 } 17 } else { 18 // POSTじゃないときの処理(一覧から「編集」リンクできたときなど) 19 } 20 } 21 public function action_confirm() { // 確認用 22 if( \Fuel\Core\Input::post() ) { 23 // 登録処理 24 } else { 25 // 初期の確認情報表示 26 } 27 } 28 private function validation_form() { 29 // Validationを記述 30 } 31} 32 33/**************************************** 34** Model ( ベタ書きSQLを想定 ) 35****************************************/ 36class Model_Bbs extends Model { 37 public static function get_all_article() { 38 $sql = "select * from BBS "; 39 $result = \Fuel\Core\DB::select($sql, \Fuel\Core\DB::SELECT)->execute()->as_array(); 40 // 以下、エラー処理など 41 } 42 public static function insert_bbs( $arrArticle ) { 43 // 新規登録処理 44 } 45 // 以下、更新や削除など必要メソッド 46} 47 48/**************************************** 49** View 50****************************************/ 51//Viewフォルダに 52// index.php 一覧表示用View 53// edit.php 入力用View 54// confirm.php 確認用View 55// これらを作ればいいんじゃないでしょうか?
こんなところですが、いかがでしょうか?
投稿2015/06/04 06:51
総合スコア17
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/11 05:40