検索
ホームページバックエンド開発PHPの問題未定義クラスのPHPオブジェクトの作成方法

PHP では、クラスが事前に準備されておらず、未定義のクラスのオブジェクトを作成する必要がある場合、次の 3 つのメソッドを使用できます。1. "new stdClass()"、"new class{}(object) " と "(オブジェクト)[]"。以下、編集部が詳しくご紹介します。

未定義クラスのPHPオブジェクトの作成方法

#PHP では、事前にクラスが用意されておらず、未定義クラスのオブジェクトを作成する必要がある場合、次の 3 つの方法を使用できます。

  • new stdClass()

  • ##新しいクラス{}
  • (オブジェクト)[]
  • 最初のクラスは stdClass です。このクラスは空のクラス テンプレートであり、PHP の内部予約キーワードおよびクラス名です。これは Java の Object 基本クラスと考えることができ、Java ではすべてのクラスが当然 Object 基本クラスから継承されます。 PHP の stdClass は完全に空のクラス テンプレートです。新しく作成した独自のクラスは、そのサブクラスではありません。ただし、このクラス テンプレートを使用して、独自の未定義クラスのオブジェクトを作成できます。もちろん、このオブジェクトの内部には何もありません。
  •  $a = new stdClass();
    var_dump($a);
新しいクラス{}?一定期間開発を行っており、フロントエンド JS やその他の動的言語に触れたことがある人は、これが匿名クラスであることを推測できるはずです。一般にパラメータ オブジェクトで非常に一般的です。作成するオブジェクトには属性メソッドを含めることができます。

 $b = new class{
    public $p = 1;
};
var_dump($b);

最後に見られるのは、オブジェクトを生成するためにオブジェクトに強制的に配列を使用することです。

 $c = (object)[
    'p' => 1
];
var_dump($c);

明らかに、配列強制によって生成されたオブジェクトは最初のオブジェクトと同じ型であり、属性を持つことも持たないこともできます。ただしメソッドは取れません。

配列強制メソッドによって生成されたオブジェクトは、非常に直観的で理解しやすいものです。単に属性オブジェクトをカプセル化するだけの場合は、この方法を使用する方がよりエレガントで快適になります。複雑なオブジェクトの生成は、匿名クラスを使用して生成できます。プレースホルダーのみが必要なオブジェクトの場合は、stdClass メソッドを使用できますが、もちろん、空の配列を使用することも非常に便利です。

配列の強制は型変換の規則に従う必要があることに注意してください。たとえば、数字の添え字の問題。

日常の開発では、いくつかのインターフェイスやデータベース ORM フレームワークを使用するときに、これらの関数をよく使用します。たとえば、一部の ORM フレームワークの挿入と変更には、属性のみを含むオブジェクトの受信が必要です。このとき、クラステンプレートを完全に定義しなくても、上記の方法を利用することで柔軟にオブジェクトを生成することができます。

テスト コード:

https://github.com/zhangyue0503/dev-blog/blob/master/php/201910/source/%E4%BC%98%E9%9B%85%E5%9C%B0%E5%88%9B%E5%BB%BA%E6%9C%AA%E5%AE%9A%E4%B9%89PHP%E5%AF%B9%E8%B1%A1.php

推奨学習:

php ビデオ チュートリアル

以上が未定義クラスのPHPオブジェクトの作成方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はsegmentfaultで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター