teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

加筆

2021/06/01 08:30

投稿

退会済みユーザー
answer CHANGED
@@ -39,4 +39,85 @@
39
39
 
40
40
  10のうち1がわからなくて完成しない、っていう感じじゃなく、
41
41
  10のうち9がわからない、っていう状況ではまだ、系統立てた学習が足りていない状況なので、
42
- FuelPHPのfieldsetクラスの使い方に注目して事例を集めたほうがいいです。
42
+ FuelPHPのfieldsetクラスの使い方に注目して事例を集めたほうがいいです。
43
+
44
+ ---
45
+
46
+ 例えばモデルはこうした方がいいかも:
47
+
48
+ ```php
49
+ public static function get_datas()
50
+ {
51
+ $query = DB::query('SELECT * FROM t_comment ORDER BY registed DESC'); // 登録日時で降順とか
52
+ return $query->execute();
53
+ }
54
+ ```
55
+
56
+ キー付き配列に必要なデータを詰めて渡すやり方:
57
+ ```php
58
+ public function action_index()
59
+ {
60
+ $data = [];
61
+ $comment_data = Tcomment::get_datas();
62
+ $data['comment_data'] = $comment_data;
63
+ return View::forge('board/index', $data);
64
+ }
65
+ ```
66
+
67
+ こういう書き方もある(HTMLエスケープする/しないを細かく制御できるので便利):
68
+
69
+ ```php
70
+ public function action_index()
71
+ {
72
+ $view = View::forge('board/index');
73
+ $comment_data = Tcomment::get_datas();
74
+ $view->set('comment_data', $comment_data); // htmlエスケープする時。エスケープしないときはset_safe()にする。
75
+ return $view;
76
+ }
77
+ ```
78
+
79
+ ビューに関しては、思い出しながら
80
+
81
+ ```php
82
+ <!DOCTYPE html>
83
+ <html lang="ja">
84
+ <head>
85
+ <meta charset="UTF-8">
86
+ <title>入力フォーム表示画面</title>
87
+ </head>
88
+ <body>
89
+ <div>
90
+ <?php echo Form::open('board/index'); ?>
91
+ <div><?php echo Form::label('お名前', 'onamae'); ?>:<?php echo Form::input('onamae', Input::post('onamae')); ?></div>
92
+ <div><?php echo Form::label('コメント', 'comment'); ?>:<?php echo Form::input('comment', Input::post('comment')); ?></div>
93
+ <div><?php echo Form::submit('submit', '登録'); ?></div>
94
+ <?php echo Form::close(); ?>
95
+
96
+ <div>
97
+ <table>
98
+ <tr>
99
+ <th>ID</th>
100
+ <th>名前</th>
101
+ <th>コメント</th>
102
+ <th>登録日</th>
103
+ </tr>
104
+ <?php foreach($comment_data as $data):?>
105
+ <tr>
106
+ <td><?php echo $data['id'];?></td>
107
+ <td><?php echo $data['name'];?></td>
108
+ <td><?php echo $data['comment'];?></td>
109
+ <td><?php echo $data['registed'];?></td>
110
+ </tr>
111
+ <?php endforeach;?>
112
+ </table>
113
+ </div>
114
+ </body>
115
+ ```
116
+ で表示できるとは思う。(うろ覚え)
117
+
118
+ fieldsetクラスの使い方は、こちらの記事を参照:
119
+ [FuelPHPでフォーム作成1(Fieldset) - BTT's blog](http://btt.hatenablog.com/entry/2012/06/13/142355)
120
+ `$form = Fieldset::forge();`して
121
+ `$form->add('name', 'お名前', array('maxlength' => 8));`みたいにフォーム入力の項目を定義していって、
122
+ `$view->set_safe('form', $form->build(Uri::create('board/index')));`みたいにしてフォームをまるごと渡せれば、
123
+ viewの中で`<?php echo $form; ?>`ってやっとけばフォームのHTMLが展開されるっていう。

3

加筆

2021/06/01 08:29

投稿

退会済みユーザー
answer CHANGED
@@ -22,4 +22,21 @@
22
22
 
23
23
  フォーム入力のチェックには、Validationクラスを使うとラクです。
24
24
 
25
- [Validation - クラス - FuelPHP ドキュメント](http://fuelphp.jp/docs/1.5/classes/validation/validation.html)
25
+ [Validation - クラス - FuelPHP ドキュメント](http://fuelphp.jp/docs/1.5/classes/validation/validation.html)
26
+
27
+ ---
28
+
29
+ 質問文中に現在のソースコードを貼り付けていただいたようですが、
30
+ 繰り返しとなりますがFuelPHPの実行環境を再現する手間を今確保できないため、
31
+ 情報提供のみで失礼します。
32
+
33
+ 私が先にFuelPHPを書けるようになったときに読んでいたのが、この本になります:
34
+ [はじめてのフレームワークとしてのFuelPHP第2版(3) 実践編 - 達人出版会](https://tatsu-zine.com/books/fuelphp1st-2nd-3)
35
+ この本では、ここでこのコードを書く、っていうのをしつこく丁寧に説明してあって、
36
+ MVCモデル開発をどう進めるかの考え方から教わることができます。
37
+ わたしが膨大な時間を使ってここに説明を書き連ねるよりは、
38
+ まともなチュートリアルをやっていただいたほうが時間の節約になります。
39
+
40
+ 10のうち1がわからなくて完成しない、っていう感じじゃなく、
41
+ 10のうち9がわからない、っていう状況ではまだ、系統立てた学習が足りていない状況なので、
42
+ FuelPHPのfieldsetクラスの使い方に注目して事例を集めたほうがいいです。

2

加筆

2021/06/01 07:32

投稿

退会済みユーザー
answer CHANGED
@@ -18,4 +18,8 @@
18
18
  今の質問の内容だと、丸投げだと思われても敷かないところなので、
19
19
  今知りたいところをピンポイント的に絞り込めないでしょうか。
20
20
  システムを作れるところまで、この回答で全部教え込んでいくのはとてもむずかしいので。
21
- 「ここがわからないから前に進めない」ってところに絞った内容に質問を編集してください。
21
+ 「ここがわからないから前に進めない」ってところに絞った内容に質問を編集してください。
22
+
23
+ フォーム入力のチェックには、Validationクラスを使うとラクです。
24
+
25
+ [Validation - クラス - FuelPHP ドキュメント](http://fuelphp.jp/docs/1.5/classes/validation/validation.html)

1

加筆

2021/06/01 03:16

投稿

退会済みユーザー
answer CHANGED
@@ -8,4 +8,14 @@
8
8
  など、明らかにしていただきたく。
9
9
 
10
10
  そのうえで、モデルでのデータ取得メソッドをどう定義するかとか、
11
- ビューでどういうhtmlを出力するのかを考えていけばよいかと。
11
+ ビューでどういうhtmlを出力するのかを考えていけばよいかと。
12
+
13
+ 日本語ドキュメントはこちらから:
14
+ [FuelPHP.JP 日本語ドキュメント](http://fuelphp.jp/)
15
+
16
+ [とりあえずやってみる!FuelPHP第1回〜FuelPHPの概要〜 | Geekroid](https://mynavi-agent.jp/it/geekroid/2017/09/fuelphp1fuelphp.html)
17
+
18
+ 今の質問の内容だと、丸投げだと思われても敷かないところなので、
19
+ 今知りたいところをピンポイント的に絞り込めないでしょうか。
20
+ システムを作れるところまで、この回答で全部教え込んでいくのはとてもむずかしいので。
21
+ 「ここがわからないから前に進めない」ってところに絞った内容に質問を編集してください。