在PHP中,如果沒有事先準備好類,需要建立一個未定義類別的對象,我們可以採用下面三種方式:1、「new stdClass()」、「new class{}(object)」和「(object)[]」。以下將由小編來詳細介紹。
在PHP中,如果沒有事先準備好類,需要建立一個未定義類別的對象,我們可以採用下面三種方式:
#new stdClass()
new 類{}
#(object)[]
$a = new stdClass(); var_dump($a);new class{}呢?做過一段時間開發,接觸過前端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文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具