PHP之特性

在你有別的編程語言的基礎下,你想學習PHP,可能要了解的PHP特有的東西。

定界符

使用<<<TT(可以是任意字符,但是不可以在別的地方使用過)和TT,會解析html格式和變量,如果在<<<后面加上單引號就會不解析

$x=123
echo <<<TT
123123$x 123
TT;

對象

只有public,protected,private權限控制
類中的parent類似Java的super

lass AA
{public $name;private $age;public static $sex = "woman";//靜態屬性 需要類名調用const tall = "170cm";//常量 不允許修改/*** @param $name*/public function __construct($name){$this->name = $name;$this->age = self::$sex;//靜態屬性不能用$this調用 需要用self::echo "創建對象" . PHP_EOL;}static function tt(){echo "靜態方法" . PHP_EOL;//在靜態方法中調用非靜態的方法echo (new self)->name;}public function __destruct(){// TODO: Implement __destruct() method.echo "銷毀對象" . PHP_EOL;}}$AA = new AA("zhangsan");
$AA->name = "lisi";
AA::$sex = "man";//靜態屬性用類名調用
AA::tt();
echo $AA->name . AA::$sex . PHP_EOL;
延遲綁定 static

用static進行延遲綁定可以調用的對象決定到底使用哪個值

class A
{protected static $name = "123";public function eat(){echo self::$name . PHP_EOL;//指定為當前類中的屬性echo static::$name . PHP_EOL;//根據調用的對象來決定調用哪個類中的屬性}
}class B extends A
{protected static $name = "456";
}//(new A())->eat();
(new B())->eat();

接口

接口里的權限只能是public

抽象類 abstract

抽象方法權限可以使用public,protected,可以包含非抽象方法的實現和抽象方法的聲明,可以有構造方法

trait 代碼復用

解決單一繼承,可以使用多個trait,用逗號隔開。里面不能有類常量,不能被實例化。
可以使用抽象方法
可以使用靜態屬性和靜態方法
可以使用parent和其他trait
多個trait使用不可以有相同的key不同value
trait A
{public function T(){echo "A" . PHP_EOL;}
}trait B
{public function T(){echo "B" . PHP_EOL;}
}class C
{use A, B {A::T insteadof B;//使用A中的T方法替換B中的T方法B::T as T1;//使用B中的T方法并起別名T1B::T as private T2;//as改別名時也可以改權限}public function d(){echo $this->T2();}
}$c = new C();
$c->T();
$c->T1();
$c->d();

中斷輸出

中斷進程,并輸出當前要輸出的值

half(要輸出的內容)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71375.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71375.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71375.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

9-Agent大模型中工作流的使用方法分析

目錄 關鍵詞 摘要 速覽 配置插件進行新聞內容查找的工作流設置 自動化調用用戶輸入變量的插件配置教程 配置大模型以整理并簡要輸出新聞內容 新聞內容總結功能調試與優化 搭建與發布工作流優化布局的流程詳解 創建和配置智能體工作流程 調試頁面與工作流配置演示 思…

記一次:泛微OA集成Mybatis后 insert/update執行成功,但未真正插入或修改數據

背景&#xff1a;通過Mybatis插入數據或更新數據&#xff0c;顯示插入/更新成功&#xff0c;查詢數據庫&#xff0c;發現并未插入成功、數據也沒更新成功。下面是Mapper文件 public interface TestOrmMapper {int insertByTest(Param("requestId") Integer requestI…

使用 Spring Boot 實現前后端分離的海康威視 SDK 視頻監控

使用 Spring Boot 實現前后端分離的海康威視 SDK 視頻監控系統&#xff0c;可以分為以下幾個步驟&#xff1a; 1. 系統架構設計 前端&#xff1a;使用 Vue.js、React 或 Angular 等前端框架實現用戶界面。后端&#xff1a;使用 Spring Boot 提供 RESTful API&#xff0c;負責與…

【大模型系列篇】國產開源大模型DeepSeek-V3技術報告解析

DeepSeek-V3技術報告 目錄 DeepSeek-V3技術報告 1. 摘要 2. 引言 3. DeepSeek V3 架構 3.1 基礎架構 3.1.1. 多頭潛在注意力 3.1.2. DeepSeekMoE和無輔助損失的負載均衡 3.2 多令牌預測 4. 基礎設施 4.1 計算集群 4.2 訓練框架 4.2.1. DualPipe算法與計算通信協同優…

負載均衡 - 一致性hash算法

構建場景 假如我們有三臺緩存服務器編號node0、node1、node2&#xff0c;現在有3000萬個key&#xff0c;希望可以將這些個key均勻的緩存到三臺機器上&#xff0c;你會想到什么方案呢&#xff1f; 我們可能首先想到的方案&#xff0c;是取模算法hash&#xff08;key&#xff0…

pdfplumber 解析 PDF 表格的原理

&#x1f4cc; pdfplumber 解析 PDF 表格的原理 pdfplumber 處理表格的原理是基于幾何分析&#xff08;geometric analysis&#xff09;&#xff0c;它通過分析 PDF 頁面中的線條、單元格間距和文本分布&#xff0c;提取表格數據。它主要利用 垂直線&#xff08;vertical line…

洛谷P1334

題目如下 思路&#xff1a; 每次選擇最短的兩塊木板進行合并&#xff0c;直到只剩下一塊木板。使用最小堆&#xff08;優先隊列&#xff09;來實現這一過程。使用最小堆&#xff1a; 將所有木板的長度放入最小堆&#xff08;優先隊列&#xff09; 每次從堆中取出兩塊最短的木…

JVM(Java Virtual Machine,Java 虛擬機)的作用

JVM&#xff08;Java Virtual Machine&#xff0c;Java 虛擬機&#xff09;的作用至關重要&#xff0c;它是 Java 語言“一次編寫&#xff0c;到處運行”&#xff08;Write Once, Run Anywhere&#xff0c;WORA&#xff09;特性的基石&#xff0c;也是 Java 平臺的核心組成部分…

總結(尚硅谷Vue3入門到實戰,最新版vue3+TypeScript前端開發教程)

1.Vue簡介 2020年9月18日&#xff0c;Vue.js發布版3.0版本&#xff0c;代號&#xff1a;One Piece 1.1.性能的提升 打包大小減少41%。 初次渲染快55%, 更新渲染快133%。 內存減少54%。 1.2.源碼的升級 使用Proxy代替defineProperty實現響應式。 重寫虛擬DOM的實現和Tree-Shak…

SolidWorks 轉 PDF3D 技術詳解

在現代工程設計與制造流程中&#xff0c;不同軟件間的數據交互與格式轉換至關重要。將 SolidWorks 模型轉換為 PDF3D 格式&#xff0c;能有效解決模型展示、數據共享以及跨平臺協作等問題。本文將深入探討 SolidWorks 轉 PDF3D 的技術原理、操作流程及相關注意事項&#xff0c;…

【深度學習CV】【圖像分類】從CNN(卷積神經網絡)、ResNet遷移學習到GPU高效訓練優化【案例代碼】詳解

摘要 本文分類使用的是resNet34,什么不用yolo v8&#xff0c;yolo v10系列,雖然他們也可以分類&#xff0c;因為yolo系列模型不純粹&#xff0c;里面包含了目標檢測的架構&#xff0c;所以分類使用的是resNet 本文詳細介紹了三種不同的方法來訓練卷積神經網絡進行 CIFAR-10 圖…

OPPO Find N5折疊手機:創新與實用的完美融合,FPC應用展現科技魅力【新立電子】

OPPO Find N5作為2025年新出世的折疊手機&#xff0c;以其卓越的設計、強大的性能以及創新的技術&#xff0c;為消費者帶來了全新的使用體驗。FPC&#xff08;柔性電路板&#xff09;在其中的運用&#xff0c;也進一步提升了手機的整體性能和用戶體驗。 OPPO Find N5的最大亮點…

【AD】PCB增加相關圖層——以機械層為例

問題&#xff1a;圖中PCB僅有機械層1和機械層2&#xff0c;想要在加一個機械層3 解決 1.點擊視圖—面板—View Configuration&#xff0c;選中機械層右鍵單擊增加層&#xff0c;其他層類似

Qt5 C++ QMap使用總結

文章目錄 功能解釋代碼使用案例代碼解釋注意事項代碼例子參考 功能解釋 QList<T> QMap::values() const Returns a list containing all the values in the map, in ascending order of their keys. If a key is associated with multiple values, all of its values wi…

測試用例總結

一、通用測試用例八要素   1、用例編號&#xff1b;    2、測試項目&#xff1b;   3、測試標題&#xff1b; 4、重要級別&#xff1b;    5、預置條件&#xff1b;    6、測試輸入&#xff1b;    7、操作步驟&#xff1b;    8、預期輸出 二、具體分析通…

不用寫代碼,批量下載今日頭條文章導出excel和pdf

前幾天有人問我怎么批量抓取今日頭條某個號的所有文章數據&#xff0c;需要文章鏈接&#xff0c;標題和時間&#xff0c;但是不會寫代碼&#xff0c;于是我寫了個簡單的教程 這里以渤海小吏為例 首先用edge瀏覽器安裝web-scraper瀏覽器擴展 然后打開瀏覽器控制臺&#xff0c;找…

Starrocks 寫入報錯 primary key memory usage exceeds the limit

背景 本文基于 StarRocks 3.3.5 單個Starrocks BE配置是 16CU 32GB 在Flink Yaml CDC 任務往 Starrocks寫數據的過程中&#xff0c;突然遇到了primary key memory usage exceeds the limit 問題&#xff0c;具體如下&#xff1a; java.lang.RuntimeException: com.starrocks.…

Django:文件上傳時報錯in a frame because it set ‘X-Frame-Options‘ to ‘deny‘.

即&#xff1a;使用Content-Security-Policy 1.安裝Django CSP中間件&#xff1a; pip install django-csp 2.更改項目配置&#xff1a; # settings.py MIDDLEWARE [...csp.middleware.CSPMiddleware,... ]CSP_DEFAULT_SRC ("self",) CSP_FRAME_ANCESTORS (&q…

利用Adobe Acrobat 實現PPT中圖片分辨率的提升

1. 下載適用于 Windows 的 64 位 Acrobat 注冊方式參考&#xff1a;https://ca.whu.edu.cn/knowledge.html?type1 2. 將ppt中需要提高分辨率的圖片復制粘貼到新建的pptx問價中&#xff0c;然后執行“文件—>導出---->創建PDF、XPS文檔” 3. 我們會發現保存下來的distrib…

【Python爬蟲】爬取公共交通路網數據

程序來自于Github&#xff0c;以下這篇博客作為完整的學習記錄&#xff0c;也callback上一篇爬取公共交通站點的博文。 Bardbo/get_bus_lines_and_stations_data_from_gaode: 這個項目是基于高德開放平臺和公交網獲取公交線路及站點數據&#xff0c;并生成shp文件&#xff0c;…