thinkphp では、create メソッドを使用して POST によって送信されたデータを処理し、テーブル内のフィールド名とフォームによって送信された名前の間の対応関係を使用してデータ インスタンスを自動的にカプセル化します。フォーム上でトークン検証を実行し、繰り返し送信できるようにフォームを配置します。
この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
1. create メソッドは、POST によって送信されたデータを処理できます (テーブル内のフィールド名とフィールド名の間の対応関係を通じてデータ インスタンスを自動的にカプセル化します)。フォームによって送信された名前)、
たとえば、ユーザー テーブルに「ユーザー名」という名前のフィールドがあります。 がある場合、フォームに入力すると、
$User = M('User'); $data = $User->create(); echo $data['username'];
は「Xiao Ming」を出力します。これを受け取るために $_POST['username'] を使用する必要はありません。
2. フォームの繰り返し送信を防ぐために、create メソッドを使用してフォームのトークン検証を実行します。
3. データは自動的に検証できます。前提として、Model フォルダーに UserModel.class.php ファイルを手動で作成し、そのファイルに検証責任を追加する必要があります。データは自動的に検証できます。フィールドには自動的に値が割り当てられます。前提条件として、Model フォルダーに UserModel.class.php ファイルを手動で作成し、そのファイルに
protected $_validate = array( array('username','require','用户名必须', 1), );
を追加する必要があります。その後、ユーザーの登録が行われます。
一般 この場合、学習を始めたばかりの初心者向けに、満足のいく方法を使用してデータベースにデータを追加します。
# は、$_POST 値を通じて各フォームを取得します。この方法はあまり効率的ではありません。
しかし、thinkPHP は create という非常に便利なメソッドを提供します。このメソッドを使用する前に、まずフォーム内の名前の値をデータ フィールドの値と一致するように設定する必要があります。
#設定が完了したら、コントローラー内の対応するメソッドにコードを記述できます。この文を実行すると、$data = $goods->create() によってフォームの各値が自動的に取得されます。将来的にデータテーブルにフィールドを追加したい場合でも、対応するフィールド名をフォームに追加するだけで済むため、非常に便利と言えます。
protected $_auto = array( array('create_time','time',self::MODEL_INSERT,'function'), );
たとえば、データベースに aa フィールドがなくても、フォームには aa フィールドがある場合、追加されたデータを送信するときに、create メソッドによってそのフィールドが除外されます。
推奨学習: 「PHP ビデオ チュートリアル
」以上がthinkphpでcreateメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。