ThinkPHP フレームワーク プロジェクト開発トピック -- 自動検証
WEBプロジェクトの開発では、ユーザー登録、ニュース追加、商品管理など、プロジェクトのどのモジュールにもデータを追加する機能があります。そして、フォームを使用してデータを送信し、データを追加するときに、それがデータであるかどうかを確認します。はフロントエンドユーザーです。バックエンド管理者であっても、無効なデータや間違ったデータの入力を避けることはできないため、プロジェクトではフォームデータの検証が不可欠です。したがって、Web プロジェクトに参加したり、独自に開発したりしたことがある場合は、データを追加するときに、ユーザー名が存在するかどうか、検証コードが正しいかどうか、パスワードが一貫して入力されているかどうかなど、多くのデータ検証を必ず行うことになるでしょう。年齢が数字などの場合、データベースの大量検索や正規表現の記述などの問題は誰にとっても悩みの種です。
ThinkPHP には、モデルのビジネス ルール検証を完了するためのデータ オブジェクトの自動検証機能と自動補完機能が組み込まれており、ほとんどの場合、データ オブジェクトはフォームによって送信された $_POST データによって作成されます。システムの自動検証機能を使用する必要がある場合は、Model クラスに $_validate 属性を定義するだけで済みます。
$_validate 属性の検証要素の形式:
配列 (検証フィールド、検証ルール、エラー プロンプト、検証条件、追加ルール、検証時間)
*検証フィールド: フォーム フィールド名、注: このフィールドは必ずしもデータベースである必要はありませんフィールドは、パスワードや確認コードの確認など、フォームの補助フィールドにすることもできます。
*検証ルール: 検証対象のルールは、追加のルールと組み合わせる必要がある場合があります。
組み込みの検証ルール - 必須フィールド、電子メール アドレス、URL アドレス、通貨、数値などの検証ルールは直接使用できます。注: 他の検証ルールがある場合は、独自のメソッドを記述する必要があります
*プロンプト メッセージ: 検証が失敗した後のプロンプト メッセージに使用されます。
検証条件:
0 または Model::EXISTS_TO_VAILIDATE -- フィールドが存在するかどうかを検証します (デフォルト)
1 または Model::MUST_TO_VALIDATE -- 検証する必要があります
2 または Model::VALUE_TO_VAILIDATE -- 値が次の場合空ではありません 検証
追加ルール: 検証ルールと併用します
regex 検証に正規表現を使用し、以前に定義された検証ルールが正規表現であることを示します (デフォルト)
function 関数検証を使用します。以前に定義された検証ルールは関数ですname 注: システム関数またはカスタム関数
コールバックは、メソッド検証を使用します。以前に定義された検証ルールは、現在の Model クラスのメソッドです。 注: カスタム メソッド
confirm は、フォーム内の 2 つのフィールドが同じであるかどうかを検証します。以前に定義された検証ルールはフィールド名です
equal 前の検証ルール
in で定義された特定の値と等しいかどうかを検証します 特定の範囲内にあるかどうかを検証します 注: 前に定義した検証ルールは、 array
unique 一意であるかどうかを検証します。システムはフィールドの現在の値に基づいてデータベースにクエリを実行し、同じ値が存在するかどうかを判断します。 注: データベースが要求されます
検証時間:
1 またはモデル:: MODEL_INSERT -- データを追加するときに検証します
2 または Model:: MODEL_UPDATE -- 編集するときにデータを検証します
3 または Model:: MODEL_BOTH -- すべての場合に検証します (デフォルト)
$_validate 属性に慣れたら、特定のデータを検証するときに、例を使用して検証要素の書き方を分析する必要があります。
ThinkPHP を学習したことがある方は、マニュアルで自動検証の例をいくつか見たことがあるはずです。ここでは、一般的に使用されているものの、ここでは言及されていない学生がいる場合に使用できるように、一般的に使用される例のほとんどをまとめます。 、誰もがブレインストーミングを行って、データの自動検証のすべての方法を改善することができ、継続的に更新されます。
例:
protected $_validate = array(
array('username','require','Username is required!'), // データが空かどうか 注: デフォルトでは、すべての変更が検証されます
array(' username','','ユーザー名はすでに存在します! ',0,'unique',1), // ユーザー名フィールドを追加するときに、そのフィールドが一意であることを確認します
array('password','checkPwd' ,'パスワード形式が正しくありません',0,'function'), // パスワード形式は chenkPwd メソッドを使用してカスタマイズできます
array('repassword','password','パスワードが間違っていることを確認してください',0,'confirm '), // 検証 パスワードがパスワード
array('sex','array(0,1,2)','gender は 0,1,2',0,'in' と一致するかどうかを確認します), // データが範囲内であるかどうかを検証します
array('age','number','Agemust be anumber'), // データが数値であるかどうかを検証します
array('email ','email','メールの形式が正しくありません'), / / 組み込みの通常の確認メール
array('email','/^/w+([-+.]/w+)*@/w+( [-.]/w+)*/./w+([-.]/ w+)*$/','メールの形式が間違っています), // カスタマイズされた定期認証データ
array('mypage','url', '個人の URL 形式が間違っています'), // 組み込みの通常の検証 URL アドレス
array('verify','****','検証コードが間違っています',0,'equal'), // 検証データが特定の値と等しいかどうか 注: **** はランダムな検証コードにすることができます
array('salary','currency','Salary verify is unavailable','0'), // 組み込み通貨データの検証
);
ThinkPHP の自動検証機能は、ほぼすべてのデータ検証ニーズを満たすことができるため、ThinkPHP を使用してプロジェクトにデータを追加および検証する場合、自動検証機能と自動補完機能を使用することで、データ検証の面倒な問題を心配する必要はありません。オートコンプリート機能については次回説明とまとめを行い、ThinkPHPプロジェクトモジュールの制作やプロジェクト例を順次公開していきますのでよろしくお願いいたします。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件がますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関数の呼び出しなどを実現し、開発者に比較的簡単かつ迅速な開発手法を提供します。優れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。
