php簡介(第一天打卡)

一.php簡介

1.什么是php?

1.1 Php 為什么叫這個名字?

  • Personal home page 最開始用于個人主頁建站

  • 后更名為 hypertext preprocessor 超文本預處理

1.2 php是屬于哪種語言?

  • 后端語言 (從開發角度分類)

  • 服務端語言 (從環境開發分類)

    • 運營在服務器上,客戶端瀏覽器無法直接執行

      • 工作機制:

        1. 瀏覽器請求 PHP 頁面

        2. 服務器解析 PHP 代碼,生成 HTML 輸出

        3. 瀏覽器接收 HTML,展示頁面

  • 腳本語言(語言執行特性分類)

    • 解釋執行的語言,無需編譯,直接執行

      • 理解不需要像c一樣先編譯 后執行

      • 解釋執行

        • 代碼由解釋器逐行讀取、執行

        • 不需要生成可執行文件

      • 腳本語言強調 快速開發和靈活執行,適合網頁開發、自動化、數據處理,不像 C 那樣必須經過編譯環節。

語言類型執行方式
C / C++編譯型 → 編譯成二進制 → 運行
Java編譯型 → 編譯成字節碼 → JVM 解釋或 JIT 執行
PHP / Python / JavaScript腳本語言 → 解釋器逐行執行,不用單獨編譯
  • 高級語言

語言類型可讀性執行方式
機器語言0/1 最低CPU 直接執行
匯編語言助記符低匯編器 → 機器碼
C / C++ / Java / PHP高級語言編譯器或解釋器 → 機器碼

1.3 php有啥功能?

  • 尤其適用于 Web 開發并可嵌入 HTML 中去

    • 適合前端建站

      • PHP 最初設計就是為了快速生成網頁

    • “Web 開發”是什么意思

      • Web = 網站(Website)或網頁(Web page)

      • Web 開發就是建網站或者開發網頁應用的過程

      • 范圍可以大到大型系統(比如電商、社交平臺),也可以小到個人博客、靜態網頁

  • 嵌入 HTML 中去(語法糖)

    • 可嵌入 HTML

      • PHP 代碼可以直接寫在 HTML 頁面里

      • 在服務器上執行 PHP 代碼 → 輸出最終 HTML → 瀏覽器顯示頁面

1.4 php的歷史發展是咋樣的,語法構成是咋樣的,流行率多少?

  • php發展史

    • 時間版本主要變化 & 借鑒語言特性
      1995PHP/FI 1.0個人主頁工具,最初 PHP 誕生;語法簡單,借鑒 Perl 的文本處理能力
      1997PHP/FI 2.0支持更多功能,更易生成動態網頁;仍受 Perl 腳本風格影響
      1998PHP 3重寫為正式語言,由 Andi Gutmans 和 Zeev Suraski 開發;首次稱為 PHP: Hypertext Preprocessor;語法借鑒 C 的控制結構(if、for)和 Perl 的文本處理
      2000PHP 4引入 Zend 引擎,性能提升;支持面向對象編程基礎(OOP);受 Java 面向對象思想啟發
      2004PHP 5全面 OOP 支持,增加 PDO 數據庫抽象層;更適合大型應用;借鑒 Java 類和接口設計
      2015PHP 7性能大幅提升(原 PHP 5 的 2 倍以上),增加類型聲明,棄用舊特性;借鑒 C 的類型系統思想
      2020+PHP 8引入 JIT(即時編譯)、語法改進,支持 union types、屬性提升等現代特性;語法上參考 Java 和現代 C# 特性
      • perl 1987年12月出生

      • Java

        • 發明人:James Gosling 等,Sun Microsystems

        • 最初原型 Oak:1991 年

        • 正式發布(Java 1.0):1995 年 5 月

        • 用途:面向對象語言,跨平臺,企業級應用

      • JavaScript

        • 發明人:Brendan Eich,Netscape

        • 最初誕生時間:1995 年 5 月 晚幾天誕生于 Netscape 瀏覽器

        • 用途:前端腳本語言,用于網頁動態交互

      • php 1995年6月

  • 在w3techs上建站73.6% 全球大佬

  • https://w3techs.com/https://w3techs.com/
    • CMS

      • CMS 是 Content Management System(內容管理系統) 的縮寫 。

      • 核心在于內容管理和展示

    • 例如 WordPress

    • 不需要每次改網頁都手寫 HTML 或 PHP 代碼

    • 讓不懂編程的人也能輕松管理網站內容

    • 一個 軟件系統,用來 創建、管理和發布內容(文字、圖片、視頻等)

    • OA

      • Office Automation

        • 主要功能

          • 流程管理:請假、報銷、審批

          • 協作辦公:任務分配、會議管理、文檔共享

          • 權限管理:不同角色擁有不同操作權限

          • 數據統計:報表生成、數據分析

          • 典型用戶:公司員工、主管、管理層

        • 例如釘釘OA

  • 語法構成

    • 根據c語言,java,perl

      • C 語言的借鑒

        • 語法結構

          • 條件語句:if / else

          • 循環語句:for / while / do-while

          • 大括號 {} 用于代碼塊

        • 操作符

          • 算術運算符:+ - * / %

          • 比較運算符:== != > < >= <=

        • 變量作用域

          • 使用類似 C 的局部和全局變量概念

        • 風格

          • 強調語句結尾用分號 ;

        簡單理解:C 給 PHP 提供了 基礎語法骨架

      • Java 的借鑒
        • 面向對象(OOP)

          • 類(class)、對象、方法

          • 繼承(extends)、接口(interface

          • public / private / protected 修飾符

        • 異常處理

          • try / catch / throw 語法

        • 函數和方法調用風格

          • 類似 Java 的調用方式:$obj->method()

        • 風格與可讀性

          • 借鑒了 Java 的規范化寫法,讓 PHP 的面向對象更易理解

        簡單理解:Java 給 PHP 提供了 面向對象能力和規范風格

      • Perl 的借鑒

        • 文本處理能力

          • 強大的正則表達式支持

          • 字符串拼接、模式匹配、替換操作

        • 靈活性

          • 可快速嵌入 HTML

          • 函數和變量命名自由

        • 內置函數

          • 字符串操作、數組處理等大量實用函數

        • 松散類型系統

          • PHP 可以像 Perl 一樣靈活處理變量類型

        簡單理解:Perl 給 PHP 提供了 文本處理能力和動態特性

1.5 總結

PHP,即 PHP: Hypertext Preprocessor,是一種被廣泛應用的開源通用腳本語言,尤其適用于 Web 開發并可嵌入 HTML 中去。它的語法利用了 C、Java 和 Perl,易于學習。該語言的主要目標是允許 web 開發人員快速編寫動態生成的 web 頁面

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

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

相關文章

Android 車聯網——車載儀表屏開發(二十六)

通常汽車啟動后需要快速顯示儀表,而車載娛樂系統所在的Android系統,啟動是比較耗時的,所以通常儀表系統會做在一個小型輕量化的系統內,從而達到快速啟動的效果,最終實現汽車一發動,就立刻能顯示出儀表必須顯示的各項內容。 一、儀表功能介紹 1、儀表的發展 機械儀表:通…

RL--RLHF--PPO--GRPO--DPO速通

參考視頻&#xff1a;1小時速通 - 從強化學習到RLHF - 簡介_嗶哩嗶哩_bilibili 強化學習RL RL的核心就是智能體Agent 與 環境Environment的交互。 狀態&#xff08;State&#xff0c;s&#xff09;&#xff1a;環境在某一時刻的描述&#xff0c;表示當前情境。動作&#xff0…

hardhat 項目目錄介紹

使用 npx hardhat init初始化一個 Hardhat 項目后&#xff0c;會生成一個結構清晰的目錄&#xff0c;每個部分都有其特定用途。下面是一個表格匯總了主要的目錄和文件及其作用&#xff0c;方便你快速了解&#xff1a;contracts/??存放項目的 ??Solidity 智能合約源代碼??…

9.11網編項目——UDP網絡聊天

服務器端#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <errno.h> #include <unistd.h> #include <25061head.h> #d…

第3節-使用表格數據-數據庫設計

摘要: 在本教程中&#xff0c;你將學習如何為自己的應用程序設計 PostgreSQL 數據庫。 業務需求 我們將為一個簡單的庫存管理系統設計數據庫。 讓我們從業務需求開始&#xff1a; “我們的庫存管理系統使倉庫用戶能夠高效管理多個倉庫的庫存。” 它簡化了產品管理&#xff0c;使…

Linux下清理磁盤空間——df 磁盤占用100%,du占用很少空間的原因

背景 一臺測試服務器&#xff0c;/data磁盤大小為300G&#xff0c;時不時就滿了&#xff0c;通過df命令查看300G基本全用了&#xff0c;use 100%。但是進到/data目錄中通過du 命令查看&#xff0c;也就用了20個G左右&#xff0c;怎么都對不上。如何清理都沒有釋放太多空間。查看…

分鐘級長視頻生成迎來“記憶革命”,7倍成本降低,2.2倍端到端生成速度提升!|斯坦福字節

論文鏈接&#xff1a;https://arxiv.org/pdf/2508.21058 項目鏈接&#xff1a;https://primecai.github.io/moc/亮點直擊提出了一種自適應上下文混合&#xff08;Adaptive Mixture of Contexts&#xff0c;MoC&#xff09;框架&#xff0c;該框架學習將每個查詢路由到視頻序列中…

JavaScript 設計模式概覽

1. 設計模式是什么? 設計模式是開發中解決常見問題的經典方案。設計模式并非具體代碼&#xff0c;而是解決問題的通用解決方案&#xff0c;幫助開發者避免重復造輪子&#xff0c;提升代碼的可維護性、可擴展性。 2. 設計模式的歷史 設計模式起源于建筑領域&#xff0c;由克…

(九)Spring Cloud Alibaba 2023.x:微服務接口文檔統一管理與聚合

目錄 前言 準備 實踐 網關服務配置 1.pom.xml 引入 webflux 版本 springboc 依賴 2.application-dev.yml 配置 springboc 多服務地址 3.application-dev.yml 配置springboc 文檔路由 4.網關過濾器AuthFilter.class 中放行 springboc 訪問路徑 業務服務配置 1.pom.xml…

在Cursor里安裝極其好用的Mysql Database Client 插件

&#x1f4f8; 插件界面展示 圖片1&#xff1a;插件主界面和連接配置圖片2&#xff1a;數據編輯和查詢結果展示&#x1f3af; 核心優勢 1. 直接編輯數據 - 像DataGrip一樣強大 ? 點擊即編輯: 直接雙擊數據單元格&#xff0c;立即進入編輯模式? 實時保存: 編輯完成后按 Enter …

Cursor 不香了?替代與組合實踐指南(Windsurf、Trae、Copilot、MCP)

當你感覺 Cursor 的產出質量和穩定性不如從前&#xff0c;未必一定要“全盤換掉”。本文從“替代”與“組合”兩個維度給出可落地的工具編排方案&#xff0c;并附帶決策矩陣與常見工作流&#xff0c;幫助你在不同場景獲得穩定、可控的產出。0. 適用讀者 正在使用或評估 Cursor&…

【MFC】對話框屬性:X Pos(X位置),Y Pos(Y位置)

前言 本文介紹對話框屬性中的X Pos(X位置)、Y Pos(Y位置)&#xff0c;同時給出相關示例便于理解。 目錄1 位置2 詳解3 示例1 位置 首先介紹一下這個屬性在哪里。 在資源視圖中雙擊對話框節點&#xff0c;打開該對話框&#xff1b; 鼠標右鍵工作區空白處&#xff0c;單擊屬性&am…

Java面試小冊(1)

1【Q】&#xff1a;序列化和反序列化【A】&#xff1a;序列化是將Java對象轉化為字節流&#xff0c;用于網絡傳輸&#xff0c;持久化或緩存。Java提供了java.io.Serializable接口實現序列化。反序列化是將字節流轉為為對象。2【Q】&#xff1a; Java中Exception和Error有什么區…

html獲取16個隨機顏色并不重復

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>16個不重復隨機顏色</title><style>…

Redis 緩存穿透、擊穿、雪崩:防御與解決方案大全

&#x1f6e1;? Redis 緩存穿透、擊穿、雪崩&#xff1a;防御與解決方案大全 文章目錄&#x1f6e1;? Redis 緩存穿透、擊穿、雪崩&#xff1a;防御與解決方案大全&#x1f9e0; 一、緩存穿透&#xff1a;防御不存在數據的攻擊&#x1f4a1; 問題本質與危害&#x1f6e1;? 解…

量子計算機的發展對傳統密碼學的打擊

量子計算機的發展對傳統密碼學的核心威脅&#xff0c;源于其能高效解決傳統計算機“計算不可行”的數學問題——而這些問題正是當前主流密碼算法保障安全的基石。這種影響并非“全面摧毀”&#xff0c;而是針對傳統密碼學的不同分支&#xff08;非對稱密碼、對稱密碼、哈希函數…

《var, let, const:現代JS聲明指南》

文章目錄JavaScript 中 var、let、const 的差異1. 作用域&#xff08;Scope&#xff09;2. 變量提升&#xff08;Hoisting&#xff09;3. 重復聲明4. 變量值是否可變對比表5. 示例代碼總結JavaScript 中 var、let、const 的差異 1. 作用域&#xff08;Scope&#xff09; var 函…

在 Docker 中安裝 MySQL 教程

拉取 MySQL 鏡像docker pull mysql:8.0創建并啟動 MySQL 容器docker run -d \--name mysql8 \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD123456 \-v mysql_data:/var/lib/mysql \mysql:8.0命令說明&#xff1a;-d&#xff1a;后臺運行容器 --name mysql8&#xff1a;給容器起個名字…

C#線程理解

目錄 一.線程類 1.基礎線程類&#xff08;Thread&#xff09; 2.線程池類&#xff08;Threadpool&#xff09; 3.任務并行庫&#xff08;Task&#xff09; 4.并行循環&#xff08;Parallel&#xff09; 二.線程池(threadPool)和Thread/Task之間的聯系 1.ThreadPool和Thr…

Java入門級教程16——JUC的安全并發包機制

目錄 1.JUC的安全并發包機制 1.1 包含 1.2 Barrier(柵欄)機制——CyclicBarrier&#xff08;循環屏障&#xff09; 1.2.1 定義 1.2.2 特性 1.2.1 模擬包車 1.2.2 模擬學生到齊上課 1.2.3 計算任務總耗時 1.3 CountDownLatch(閉鎖)機制 1.3.1 定義 1.3.2 特性 1.3.3…