パラメータ設計の問題
プログラマーはコードを書けないこともありますが、より良く、拡張しやすく、美しいコードをどのように書くかに常に苦労していることがわかりました。結局のところ、プログラマーは金のような言葉を大切にしています。 、入力の少ない行は行、簡潔な行は
経験を積んできたので、ますます心配する必要はなくなりましたが、今日はパラメータという古い問題に戻りました。メソッドのテーブルは 1 つずつ設計されています。それとも、キー名を使用して配列として表現する方が良いでしょうか?しかし、その後要件が変更され、BC が削除され、F が追加され、プロジェクト全体がコードの変更を探し続けましたが、何かを見逃してしまうのではないかという不安が残りました。そうすれば、古いコードで渡されるパラメータが減り、より多くのパラメータが渡されることになります。 JS では、パラメータ、特に一部の UI プラグインを初期化するときに指定されたオプションを渡すために、キーと値のペア (連想配列だと思われます) を使用することがますます一般的になっていることがわかりました。もちろん、パラメーターが多すぎるため、キーと値のペアを使用する場合は、どのパラメーター ビットがどれであるかを覚えるのが難しくなります。キーと属性を制御する必要があるだけです。オプションの制御用のキーだけである程度は十分ですが、この設計はオプションのパラメータ用であり、PHP では時々このような設計が見られますが、実際にはメソッド呼び出しの方が面倒なようで、
addUserIcon の直接的な表現ではありません。 (ユーザー ID, 金貨の数);
それは常に addUserIcon(array('uid' => ユーザー ID, 'qty' => 金貨の数)) のようなものです
それについて話しましょう、上記はただのことです簡単な例ですが、複雑です 配列の方が扱いやすいようで、あれとこれが矛盾してしまい、開発プロセスがコードの不整合の問題に巻き込まれます、こっちはこう、こっちはああもちろん、怒っているのはあなただけです。上司はあなただけを望んでいます。 Web開発はそれほど複雑である必要はないため)、ただし、phpが提供するデフォルトのパラメータは変更可能です
したがって、渡される実際の数値を確認することでプロセスの方向を決定できます
ただし、パラメータを変更することはお勧めできませんABCDE から ADEF への変換は、もともと ABCDE によって呼び出される部分があいまいになるためです
C++ の場合、問題は関数のオーバーロードによって解決されます
ただし、php はオーバーロードをサポートしていません (Web 開発はそれほど複雑である必要がないため)。回避策はデフォルトのパラメータです
そのため、チェックに合格できます 渡される実際の数値によってプロセスの方向が決まります
ただし、パラメータを ABCDE から ADEF に変更することはお勧めできません
ABCDE によって最初に呼び出された部分は曖昧です
つまり、例えば、本来はユーザーの年齢、性別、地域、XX、YY... が必要ですが、ある日プロジェクトの要件が変更され、性別と地域は必須ではないと言われ、その後、署名...
メソッドが setUserInfo であると仮定します
データ収集の要素は関与しません
たとえば、ユーザー情報は{ユーザーID、年齢、性別、地域など}の集合であり、ユーザーIDは一意であることができます ユーザーを識別します
別の例は、{年齢、性別、地域など}です。 region} はフィルター セットであり、{age, Signature} は別のフィルター セット
したがって、必要なフィルター セット番号を渡すだけで、プログラムをユニバーサル
にし、維持することができます。 これらのコレクションのテクノロジーは次のとおりです: データ ディクショナリ

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。
