- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CodeIgniter/set_value())
CodeIgniterのset_value()メソッドの違いと呼び出し方は?
このQ&Aのポイント
- CodeIgniterには、/system/helpers/form_helper.phpと/system/libraries/Form_validation.phpの2つのファイルにset_value()メソッドが存在します。
- これらのset_value()メソッドには、引数として$fieldと$defaultを指定することができます。
- viewでset_value()メソッドを呼び出す際には、form_input('name', set_value('name'))のように使用します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
フォームバリデーションライブラリクラスをロードするとコンストラクタでフォームヘルパーが ロードされます。 なので、フォームバリデーションライブラリを利用する際は、フォームヘルパーを明示的に ロードする必要はありません。 フォームバリデーションライブラリクラスを使用しているページで、フォームヘルパーの 「 set_value() 」関数を実行すると、フォームバリデーションライブラリクラスの「 set_value() 」 メソッドのラッパーとして動作します。 つまり、フォームヘルパーの「 set_value() 」関数内でフォームバリデーションクラスの 「 set_value() 」メソッドを実行しています。 フォームバリデーションライブラリクラスを使用していない時に、フォームヘルパーの 「 set_value() 」関数を実行すると、$_POSTグローバル変数から値を取得します。 ちなみに、フォームヘルパーの「 set_value() 」は、「htmlspecialchars()」などで値を サニタイズしてから返すため、バリデーションライブラリを利用しているかにかかわらず ヘルパーの「 set_value() 」関数を利用した方が安全です。 フォームバリデーションライブラリクラスの「 set_value() 」でも「 set_rules() 」メソッドで値を サニタイズすることができるので、サニタイズしていれば、フォームバリデーションライブラリクラスの「 set_value() 」メソッドを利用しても安全です。
お礼
回答ありがとうございました。 説明大変詳しく、またとっても分かりやすかったですー