ホームページ  >  記事  >  バックエンド開発  >  PHP はカプセル化された検証コード クラスを実装します

PHP はカプセル化された検証コード クラスを実装します

墨辰丷
墨辰丷オリジナル
2018-05-25 09:51:521616ブラウズ

この記事では、PHP でカプセル化された検証コード クラスのコード、原則、アイデアを共有します。非常にわかりやすく詳しく説明されています。必要な場合は参照してください。

検証コードは開発時によく使用される機能です。 PHP クラス プラグインとして使用する検証コード クラスをパッケージ化しました。これをすべての読者と共有したいと思います。

実装原理も非常にシンプルで、キャンバスのいくつかの機能といくつかの文字列の取得を使用して、それを組み合わせるだけです(笑)。

ここで私の考えを簡単に書かせてください。実際、このクラスは非常に明確にコメントされていますが、書く前にまだ長文にしたいと思います。

最初はいくつかの機能の説明です。ここでの説明は完全に個人的な経験です。間違いがあれば修正してください。

1. キャンバス関数の作成: imagecreatetruecolor(w,h);

説明: キャンバスを作成するために使用されます。

w キャンバスの幅

h キャンバスの高さ

この関数の戻り値 リソースクラス(gd)

2. キャンバスの色を作成します: imagecolorallocate(img,red,green,blue) )

説明:

img Canvas resource

red,green,blue 0~255の範囲です

3.キャンバスに背景色を追加します

imagefill(img,x,y,color) ;

説明:

image 画像の座標 x, y (画像の左上隅が 0, 0)

4. 境界線を描画します

Imagerectangle($img,x1,y1,x2 ,y2,color);

説明:

その左上隅の座標は x1, y1、右下隅の座標は x2, y2 です。画像の左上隅の座標は 0, 0 です。

3.描画内容(文字)

Imagestring(img, size, x, y, string, color); が起点です

Stringは描画する内容です

Colorは色です

4. ブラウザに画像形式を伝えます

Header("Content-type: image/png") は image/gif などです

5. 出力 (または保存)、2 番目のパラメータも使用できます保存するには

Imagepng(img【,filename】)

Imagejpeg(img【,filename】)

Imagegif(img【,filename】)

6. 本質的には直線である干渉線を追加します

imageline(img,x1,y1,x2,y2,color);

/ x2,y2 終点 img Canvas

単位ピクセル

角度 angle

🎈

アイデアは次のとおりです:

最初にキャンバスが生成され、次に文字列、直線、ノイズ ポイント、境界線がキャンバスに追加されて検証コードが生成されます。クラスによって返される最後の 2 つのパブリック インターフェイスは次のとおりです。検証コードと外部で呼び出すことができる検証コードの生成 文字列合成の目的は、検証コードキャンバスを外部に出力し、検証用の文字列を保存することです。

最後に、他の人を誤解させないように、もう一度強調しておきます:

ここでは、最初にentryを使用して検証コードを生成し、次にverifyを使用して検証コード文字列を生成する必要があります。つまり、最初にentryを呼び出す必要があります。その後、verify を呼び出して検証コード文字列を生成できます。理由コードはすでに問題を説明しています。検証コードの文字列はエントリ メソッドの captchaImage メソッドで生成されるため、最初に呼び出す必要があります。場所によっては中国語フォントの要件が高く、中国語の確認コードをサポートしていない場所もあります

上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHPの値転送メソッドと

verification

関数を実装するajaxメソッド

ajaxが

verification

を返すときに常にエラーがポップアップする問題を解決する方法

通常の通常の

検証

ヘルパーパブリッククラスを実装するためのPHPメソッド


以上がPHP はカプセル化された検証コード クラスを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。