PHP函数、面向对象、内置函数库与Web交互(第二篇)

PHP函数、面向对象、内置函数库与Web交互(第二篇)

前言

        在掌握了PHP基础语法、流程控制与数组之后,我们进入实战篇。本篇将系统讲解PHP开发的四大核心技能:函数、面向对象编程、常用内置函数库Web交互。这些是构建动态网站的关键,学完你就能独立开发功能完整的Web应用。


目录

前言

一、 函数:代码复用的核心

1.1 定义与调用

1.2 参数传递

1.3 返回值

二、 面向对象编程(OOP)

2.1 类与对象

2.2 构造函数

2.3 访问修饰符

三、 内置函数库

3.1 字符串函数

3.2 数组函数

3.3 数学函数

3.4 日期时间函数

四、 Web交互

4.1 GET方式接收数据

4.2 POST方式接收数据

4.3 文件上传

4.4 Session与Cookie

五、 文件管理

5.1 文件读写

5.2 文件信息

5.3 目录操作

结尾


一、 函数:代码复用的核心

1.1 定义与调用

语法function 函数名(参数){ 函数体; return 返回值; }

function add($a, $b) { return $a + $b; } echo add(3, 5); // 输出:8

1.2 参数传递

  • 按值传递:默认方式,函数内修改不影响外部变量
  • 按引用传递:参数前加&,函数内修改会影响外部变量
function addOne(&$num) { $num += 1; } $x = 5; addOne($x); echo $x; // 输出:6

1.3 返回值

  • 使用return返回结果
  • 执行到return时函数终止
function isAdult($age) { if ($age >= 18) { return true; } return false; }

二、 面向对象编程(OOP)

2.1 类与对象

是对象的蓝图,对象是类的实例。

class Student { // 属性 public $name; public $age; // 方法 public function introduce() { echo "我叫{$this->name},{$this->age}岁"; } } $stu = new Student(); $stu->name = "张三"; $stu->age = 20; $stu->introduce();

2.2 构造函数

对象创建时自动执行,用于初始化。

class Person { public function __construct($name) { echo "创建了:$name"; } } $p = new Person("李四"); // 自动执行

2.3 访问修饰符

  • public:公有的,任何地方可访问
  • private:私有的,仅类内部可访问
  • protected:受保护的,类内部和子类可访问


三、 内置函数库

3.1 字符串函数

$str = "Hello World"; echo strlen($str); // 长度:11 echo strpos($str, "World"); // 查找位置:6 echo str_replace("World", "PHP", $str); // 替换 $arr = explode(" ", $str); // 分割为数组 echo implode("-", $arr); // 数组连接为字符串

3.2 数组函数

$arr = [3, 1, 4, 2]; sort($arr); // 排序:[1,2,3,4] array_push($arr, 5); // 末尾添加 array_pop($arr); // 末尾移除 echo in_array(3, $arr); // 检查是否存在 echo count($arr); // 元素个数

3.3 数学函数

echo abs(-5.5); // 绝对值:5.5 echo ceil(4.3); // 向上取整:5 echo floor(4.7); // 向下取整:4 echo rand(1, 100); // 1-100随机数 echo max(1,5,3); // 最大值:5

3.4 日期时间函数

date_default_timezone_set('Asia/Shanghai'); // 设置时区 echo date('Y-m-d H:i:s'); // 当前时间:2026-01-15 14:30:00 echo time(); // 当前时间戳 echo strtotime("next Monday"); // 下周一时间戳

四、 Web交互

4.1 GET方式接收数据

数据通过URL传递,用$_GET接收。

<!-- 表单 --> <form action="process.php" method="get"> <input type="text" name="username"> <input type="submit" value="提交"> </form> <!-- URL:process.php?username=输入的值 -->
// process.php $name = $_GET['username'] ?? '访客'; echo "你好," . htmlspecialchars($name);

4.2 POST方式接收数据

数据在请求体中,用$_POST接收,更安全。

<form action="login.php" method="post"> 用户名:<input type="text" name="user"> 密码:<input type="password" name="pwd"> <input type="submit" value="登录"> </form>
// login.php $user = $_POST['user'] ?? ''; $pwd = $_POST['pwd'] ?? ''; if($user && $pwd) { // 处理登录逻辑 }

4.3 文件上传

表单需设置enctype="multipart/form-data"

if($_FILES['file']['error'] == 0) { $tmp_name = $_FILES['file']['tmp_name']; $new_name = "uploads/" . $_FILES['file']['name']; move_uploaded_file($tmp_name, $new_name); echo "上传成功"; }

4.4 Session与Cookie

Session:服务器端存储

session_start(); $_SESSION['user'] = '张三'; // 设置 echo $_SESSION['user']; // 读取 session_destroy(); // 销毁

Cookie:客户端存储

setcookie("user", "李四", time()+3600); // 设置,1小时过期 echo $_COOKIE['user']; // 读取 setcookie("user", "", time()-3600); // 删除

五、 文件管理

5.1 文件读写

// 写入文件 file_put_contents("test.txt", "Hello PHP"); // 读取文件 $content = file_get_contents("test.txt"); echo $content; // 追加写入 file_put_contents("log.txt", "新日志\n", FILE_APPEND);

5.2 文件信息

$file = "test.txt"; if(file_exists($file)) { echo "大小:" . filesize($file) . "字节"; echo "修改时间:" . date("Y-m-d", filemtime($file)); }

5.3 目录操作

mkdir("new_folder"); // 创建目录 rmdir("empty_folder"); // 删除空目录 $files = scandir("."); // 列出目录内容 foreach($files as $file) { if($file != "." && $file != "..") { echo $file . "<br>"; } }

结尾

        至此,PHP的核心实战技能已全部讲解完毕。从函数封装、面向对象,到内置函数库的使用,再到Web交互和文件管理,这些都是开发动态网站的必备知识。

        建议立即动手实践:尝试搭建一个留言板或简易博客,综合运用这些技术。遇到问题多查阅PHP官方文档(下图),这是最好的学习资料。编程之路,贵在坚持。祝你编码愉快,早日成为PHP高手!

Read more

uniapp vue h5小程序奶茶点餐纯前端hbuilderx

uniapp vue h5小程序奶茶点餐纯前端hbuilderx

内容目录 * 一、详细介绍 * 二、效果展示 * 1.部分代码 * 2.效果图展示 * 三、学习资料下载 一、详细介绍 uniapp奶茶点餐纯前调试视频.mp4链接: uniapp奶茶点餐纯前调试视频注意事项: 本店所有代码都是我亲测100%跑过没有问题才上架 内含部署环境软件和详细调试教学视频 代码都是全的,请放心购买 虚拟物品具有复制性,不支持七天无理由退换 源码仅供学习参考, 商品内容纯属虚构可以提供定制,二次开发先导入hbuilderx 运行后会启动微信开发工具显示效果 二、效果展示 1.部分代码 代码如下(示例): 2.效果图展示 三、学习资料下载 蓝奏云:https://qumaw.lanzoul.com/iQ2KP3goqhjg

Clawdbot+Qwen3:32B从零开始:3步完成Web Chat平台本地部署(含截图)

Clawdbot+Qwen3:32B从零开始:3步完成Web Chat平台本地部署(含截图) 1. 为什么你需要这个本地Chat平台 你是不是也遇到过这些问题:想用大模型但担心数据上传到公有云?试过几个Web聊天界面,不是配置复杂就是响应慢?或者只是单纯想在自己电脑上跑一个真正属于自己的AI对话系统,不依赖网络、不看别人脸色? Clawdbot + Qwen3:32B 这个组合,就是为解决这些实际问题而生的。它不是又一个需要注册账号、绑定邮箱、等审核的SaaS服务,而是一个完全本地运行、数据不出设备、开箱即用的轻量级Web聊天平台。 这里没有复杂的Docker Compose编排,没有动辄半小时的环境搭建,也没有让人头大的证书配置。整个过程只需要三步:装好基础工具、拉起模型服务、启动前端界面。全程在终端敲几行命令,刷新浏览器就能开始对话。 更关键的是,它用的是通义千问最新发布的Qwen3:32B——目前开源领域综合能力最强的中文大模型之一。32B参数规模意味着更强的逻辑推理、更稳的长文本理解、更自然的多轮对话表现。而Clawdbot作为一款专注本地集成的轻量级代理网关,把模

资源高效+高精度识别|PaddleOCR-VL-WEB文档解析全场景适配

资源高效+高精度识别|PaddleOCR-VL-WEB文档解析全场景适配 写在前面 你有没有遇到过这样的情况:一份扫描版PDF里既有密密麻麻的正文、带公式的推导过程,又有跨页表格和手写批注,用传统OCR工具一识别,文字错位、表格散架、公式变乱码——最后还得人工逐字校对,半天时间白忙活? 这不是个别现象。在金融报告、科研论文、古籍档案、多语言合同等真实业务中,文档解析早已不是“把图片转成文字”这么简单。它需要同时理解布局结构、语义逻辑、视觉关系和多语言混排——而这些,正是PaddleOCR-VL-WEB真正发力的地方。 本文不讲抽象架构,不堆参数指标,只聚焦一件事:这个镜像到底能不能在你的日常工作中稳稳跑起来?识别准不准?部署难不难?支持哪些“难搞”的文档? 我用一台搭载RTX 4090D单卡的服务器,从零部署PaddleOCR-VL-WEB,实测了27份真实文档(含中文财报、英文技术手册、日文说明书、阿拉伯语合同、带手写体的实验记录本、含LaTeX公式的学术PDF),全程记录操作路径、关键配置、效果反馈和避坑要点。所有步骤均可复现,