ArrayAccess インターフェースの紹介_PHP チュートリアル
PHP5 には一連の新しいインターフェイスがあります。 HaoHappy が翻訳したこの一連の記事で、そのアプリケーションについて学ぶことができます。同時に、これらのインターフェイスと実装された一部のクラスは、標準 PHP ライブラリ (SPL) に分類されます。クラスのオーバーロードをさらに強化するために、多くの機能が PHP5 に追加されました。 ArrayAccess の目的は、クラスを配列 (PHP の配列) のように見せることです。これは、C# のインデックス機能と非常によく似ています。
ArrayAccess の定義は次のとおりです:
インターフェース ArrayAccess
ブール値の offsetExists($index)
混合オフセットGet($index)
void offsetSet($index, $newvalue)
void offsetUnset($index)
PHP 配列の能力により、多くの人は PHP アプリケーションを作成するときに構成情報を配列に保存することがよくあります。したがって、コード内のあらゆる場所にグローバルが存在する可能性があります。別の方法を試してみましょう?
次のコードのような:
//設定クラス
クラス構成は ArrayAccess を実装します
{
静的プライベート $config;
プライベート $configarray;
プライベート関数 __construct()
{
// 初期化
$this->configarray = array("ビンジー"=>"男性", "ジャスミン"=>"女性");
}
パブリック静的関数instance()
{
//
if (self::$config == null)
{
self::$config = 新しい構成();
}
self::$config を返す;
}
関数 offsetExists($index)
{
return isset($this->configarray[$index]);
}
関数 offsetGet($index) {
return $this->configarray[$index];
}
関数 offsetSet($index, $newvalue) {
$this->configarray[$index] = $newvalue;
}
関数 offsetUnset($index) {
unset($this->configarray[$index]);
}
}
$config = 構成::インスタンス();
print $config["Binzy"];
ご想像のとおり、プログラムの出力は「男性」です。
次のアクションを実行すると:
$config = 構成::インスタンス();
print $config["Binzy"];
$config['ジャスミン'] = "ビンジーの恋人";
//設定2
$config2 = 構成::インスタンス();
print $config2['ジャスミン'];
はい、予想どおり、出力は Binzy's Lover になります。
これと配列を使用することの違いは何ですか?と疑問に思われるかもしれません。目的に違いはありませんが、最大の違いはカプセル化です。 OO の最も基本的なジョブはカプセル化であり、カプセル化により変更を内部に効果的に保持できます。つまり、構成情報が PHP 配列に格納されなくなった場合、アプリケーション コードを変更する必要はありません。実行できることは、構成スキームに新しい戦略 (Strategy) を追加することだけです。 :
ArrayAccess はさらに改良されており、カウントする方法がなくなったため、ほとんどの場合、使用には影響しません。
参考:
1.《PHP5パワープログラミング》
2.「デザインパターン」
3.「オブジェクト指向の分析と設計」

ホット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)

ホットトピック









エッジブラウザには翻訳機能が搭載されており、いつでもどこでも翻訳できるため、ユーザーは非常に便利ですが、多くのユーザーは、組み込みの翻訳 Web ページが見つからないという意見を述べています。私が持ってきた翻訳ページがありませんか?このサイトでは、Edge ブラウザーに付属の翻訳された Web ページが見つからない場合に復元する方法を紹介します。 Edge ブラウザーに付属の翻訳 Web ページが表示されない場合の復元方法 1. 翻訳機能が有効になっているかどうかを確認します。Edge ブラウザーで、右上隅にある 3 つの点のアイコンをクリックし、[設定] オプションを選択します。設定ページの左側で、言語オプションを選択します。必ず「翻訳(&R)」してください

7月22日のニュースによると、今日、Xiaomi ThePaper OSの公式Weiboは、Xiaoai翻訳が日本語と韓国語の翻訳にアップグレードされ、字幕なしのビデオやライブ会議を文字起こしして翻訳できるようになったと発表しました。リアルタイムで。対面同時通訳では、中国語、英語、日本語、韓国語、ロシア語、ポルトガル語、スペイン語、イタリア語、フランス語、ドイツ語、インドネシア語、ヒンディー語を含む 12 言語への翻訳がサポートされています。上記の機能は現在、次の 3 つの新しい携帯電話のみをサポートしています: Xiaomi MIX Fold 4 Xiaomi MIX Flip Redmi K70 Extreme Edition 2021 年には日本語と韓国語の翻訳に Xiao Ai の AI 字幕が追加される予定であると報告されています。 AI 字幕は、Xiaomi が自社開発した同時通訳技術を使用し、より高速で安定した正確な字幕読み取り体験を提供します。 1. 公式声明によると、Xiaoai Translator はオーディオおよびビデオ会場でのみ使用できるわけではありません

パソコンを組み立てる際、設置作業は簡単ですが、誤ってCPUラジエーターの電源線をSYS_FANに差し込んでしまうなど、配線に問題が発生することが多く、ファンは回転しますが、ファンが回転しない場合があります。コンピュータの電源がオンになると、F1 エラー「CPUFanError」が発生し、CPU クーラーがインテリジェントに速度を調整できなくなります。コンピューターのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般的な知識を共有しましょう。コンピュータのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般科学 1. CPU_FANCPU_FAN は、CPU ラジエーター専用のインターフェイスであり、12V で動作します。

最新の効率的なプログラミング言語である Go 言語には、開発者が高品質で保守可能なコードを作成するのに役立つ豊富なプログラミング パラダイムと設計パターンがあります。この記事では、Go 言語の一般的なプログラミング パラダイムと設計パターンを紹介し、具体的なコード例を示します。 1. オブジェクト指向プログラミング Go 言語では、構造体とメソッドを使用してオブジェクト指向プログラミングを実装できます。構造を定義し、その構造にメソッドをバインドすることにより、データのカプセル化と動作バインディングのオブジェクト指向機能を実現できます。パッケージマイニ

ブラウザには翻訳機能が搭載されていることが多いので、外国語のサイトを閲覧しても理解できないという心配はありません! Google Chromeも例外ではありませんが、一部のユーザーは、Google Chromeの翻訳機能を開いたときに、応答がなかったり、失敗したりすることがあります。私が見つけた最新の解決策を試してみてください。操作チュートリアル: 右上隅の 3 つの点をクリックし、[設定] をクリックします。 [言語の追加] をクリックし、英語と中国語を追加し、次の設定を行います。英語の設定では、Web ページをこの言語で翻訳するかどうかを尋ねられます。中国語の設定では、この言語で Web ページが表示されます。中国語はその前に先頭に移動する必要があります。をデフォルトの言語として設定できます。 Web ページを開いて翻訳オプションが表示されない場合は、右クリックして [中国語翻訳] を選択し、[OK] をクリックします。

なぜGoogle Chromeは中国語を翻訳できないのでしょうか?ご存知のとおり、Google Chrome は翻訳機能が組み込まれたブラウザの 1 つであり、このブラウザで他国で書かれたページを閲覧すると、ブラウザはそのページを自動的に中国語に翻訳します。最近、一部のユーザーが中国語に翻訳したと言っています。現時点では設定で修正する必要があります。次に、編集者がGoogle Chromeが中国語に翻訳できない問題の解決策を紹介しますので、興味のある友達はぜひ見に来てください。 Google Chrome で中国語の解決策を翻訳できない 1. ローカルの hosts ファイルを変更します。hosts は拡張子のないシステム ファイルです。メモ帳などのツールで開くことができます。主な機能は、IP アドレスとホスト名の間のマッピング関係を定義することです。マッピングIPアドレスです

PHP インターフェースの概要とその定義方法 PHP は、Web 開発で広く使用されているオープンソースのスクリプト言語であり、柔軟性があり、シンプルで強力です。 PHP では、インターフェイスは複数のクラス間で共通のメソッドを定義し、ポリモーフィズムを実現し、コードをより柔軟で再利用可能にするツールです。この記事では、PHP インターフェイスの概念とその定義方法を紹介し、その使用法を示す具体的なコード例を示します。 1. PHP インターフェイスの概念 インターフェイスはオブジェクト指向プログラミングにおいて重要な役割を果たし、クラス アプリケーションを定義します。

Dogecoin は、インターネット ミームに基づいて作成された暗号通貨であり、固定供給上限がなく、速い取引時間、低い取引手数料、そして大規模なミーム コミュニティを備えています。用途には、少額の取引、チップ、慈善寄付が含まれます。しかし、その無限の供給、市場のボラティリティ、ジョークコインとしての地位は、リスクと懸念ももたらします。ドージコインとは何ですか? Dogecoin は、インターネットのミームやジョークに基づいて作成された暗号通貨です。起源と歴史: Dogecoin は、2 人のソフトウェア エンジニア、ビリー マーカスとジャクソン パーマーによって 2013 年 12 月に作成されました。当時人気だった「Doge」ミームからインスピレーションを得た、片言の英語を話す柴犬をフィーチャーしたコミカルな写真。特徴と利点: 無制限の供給: ビットコインなどの他の暗号通貨とは異なります。
