一.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…