PHP 入门:从零开始构建动态网页

发布时间:2026/7/6 13:50:21
PHP 入门:从零开始构建动态网页 PHP 是一门专为 Web 开发设计的脚本语言易学且功能强大。全球超过 75% 的网站包括 Facebook、WordPress都使用了 PHP。这篇入门指南将带你从环境搭建开始一步步学会用 PHP 制作动态网页。一、PHP 是什么PHPHypertext Preprocessor是一种运行在服务器端的脚本语言可以嵌入到 HTML 中。它能处理表单、访问数据库、生成动态页面内容是构建网站后台的利器。一个典型的 PHP 文件长这样!DOCTYPEhtmlhtmlheadtitle我的PHP页面/title/headbodyh1?phpecho你好PHP;?/h1p今天的日期是?phpechodate(Y-m-d);?/p/body/html服务器会先执行 ?php ... ? 内的代码把结果嵌入 HTML然后将最终页面发给浏览器。访问者看到的只是纯 HTML看不到 PHP 源码。二、环境搭建学习 PHP 需要在电脑上搭建一个 Web 服务器环境。最推荐的一键集成包· XAMPPWindows/Linux/macOS: 包含 Apache PHP MySQL· MAMPmacOS: 功能类似· 或者直接使用 PHP 内置开发服务器适合轻量测试用 PHP 内置服务器快速起步确认安装 PHP命令行输入 php -v 查看版本建议 PHP 8.0。新建项目文件夹 my_php_app在里面创建 index.php。在终端进入该文件夹运行php -S localhost:8000浏览器访问 http://localhost:8000即可看到页面。内置服务器适合学习但没有 MySQL后面数据库部分可用 XAMPP。三、第一个程序在 index.php 中写入?phpechoHello, PHP!;phpinfo();// 查看 PHP 配置信息学完可删除?echo 用来输出内容每条语句以 ; 结尾。如果文件里只有 PHP 代码结尾的 ? 可以省略推荐省略以避免输出意外空白。四、基础语法变量与数据类型变量以 $ 开头无需声明类型。?php$name小明;// 字符串$age28;// 整数$price19.99;// 浮点数$is_studenttrue;// 布尔值$languages[PHP,Python,JavaScript];// 数组echo{$name}今年{$age}岁;// 双引号解析变量echo单引号不解析变量;// 纯字符串?· 双引号字符串会解析变量和转义符 \n单引号则原样输出。· 数组后面会详细说明。字符串拼接用 . 连接字符串echo欢迎, .$name.!;数组PHP 支持两种数组索引数组和关联数组类似字典。// 索引数组$fruits[苹果,香蕉,橘子];echo$fruits[0];// 苹果// 关联数组键值对$user[name小红,emailxiaohongexample.com,age25];echo$user[name];// 小红条件与循环// if-elseif($age18){echo已成年;}else{echo未成年;}// switchswitch($user[role]??guest){caseadmin:echo管理员面板;break;default:echo普通用户;}// for 循环for($i0;$icount($fruits);$i){echoli{$fruits[$i]}/li;}// foreach 遍历数组最常用foreach($useras$key$value){echo{$key}:{$value}br;}?? 是空合并运算符如果左侧不存在或为 null使用右侧默认值。五、函数functiongreet($name,$time早上){return{$time}好{$name};}echogreet(小红);// 早上好小红echogreet(小明,晚上);// 晚上好小明参数可以有默认值return 返回值。PHP 内置了大量函数如 date()、strlen()、count()、isset() 等。六、表单处理——让网页互动起来这是 PHP 最核心的用途接收用户提交的数据。创建表单form.htmlformactionsubmit.phpmethodpostlabel姓名inputtypetextnameusername/labellabel密码inputtypepasswordnamepassword/labelbuttontypesubmit提交/button/form处理提交submit.php?phpif($_SERVER[REQUEST_METHOD]POST){$username$_POST[username]??;$password$_POST[password]??;// 简单验证if(empty($username)||strlen($password)6){echo请输入有效信息。;}else{echo欢迎你{$username};// 实际应用中会对密码进行哈希处理}}?·POST存放以POST方法提交的表单数据_POST 存放以 POST 方法提交的表单数据P​OST存放以POST方法提交的表单数据_GET 存放 URL 参数。· 永远不要信任用户输入要过滤和验证。htmlspecialchars() 可防止 XSS 攻击。七、连接 MySQL 数据库多数动态网站都需要存储和读取数据。PHP 推荐使用 PDOPHP Data Objects 扩展它提供了统一的接口且支持预处理语句防 SQL 注入。准备数据库用 phpMyAdmin 或命令行假设有一个 blog 数据库内含 posts 表id, title, content, created_at。使用 PDO 连接和查询?php$host127.0.0.1;$dbblog;$userroot;$pass;$charsetutf8mb4;$dsnmysql:host$host;dbname$db;charset$charset;$options[PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODEPDO::FETCH_ASSOC,];try{$pdonewPDO($dsn,$user,$pass,$options);}catch(PDOException$e){die(数据库连接失败.$e-getMessage());}// 查询并显示文章列表$stmt$pdo-query(SELECT title, created_at FROM posts ORDER BY created_at DESC);while($row$stmt-fetch()){echoh2{$row[title]}/h2;echosmall{$row[created_at]}/small;}// 安全的插入操作使用预处理$title新文章标题;$content文章内容...;$sqlINSERT INTO posts (title, content, created_at) VALUES (?, ?, NOW());$stmt$pdo-prepare($sql);$stmt-execute([$title,$content]);echo新文章ID.$pdo-lastInsertId();?· PDO 预处理将 SQL 结构与数据分离从根本上防止 SQL 注入。· 生产环境中数据库密码不可直接写在代码中应使用环境变量或配置文件。八、面向对象编程OOP简介PHP 完整支持面向对象理解基础对后续学习框架很有帮助。classUser{private$name;private$email;publicfunction__construct($name,$email){$this-name$name;$this-email$email;}publicfunctiongreet(){return我是{$this-name}邮箱{$this-email};}}$usernewUser(小华,huaexample.com);echo$user-greet();· public、private、protected 控制访问权限。· __construct 是构造方法对象创建时自动调用。九、文件组织与模板混杂 HTML 与 PHP 会让代码难以维护可以用简单的模板技巧分离逻辑与显示。一种基础做法在 index.php 中获取数据然后引入模板文件。!--header.php--!DOCTYPEhtmlhtmlheadtitle我的网站/title/headbodyheader欢迎/header!--footer.php--footer版权 ©2026/footer/body/html!--blog.php--?php$postsgetPostsFromDB();// 假设函数获取文章requireheader.php;foreach($postsas$post){echoh2{$post[title]}/h2;}requirefooter.php;?更成熟的项目会使用 MVC 框架如 Laravel、Symfony它们提供了路由、模板引擎等。十、部署与发布开发完成后你的 PHP 应用需要运行在支持 PHP 的 Web 服务器上· Apache/Nginx PHP-FPM 是生产环境标配。· 云平台如阿里云、腾讯云以及专门托管 PHP 的服务如 Heroku、Alwaysdata都能快速部署。· 将代码上传到服务器指定目录如 www/ 或 public_html/确保 PHP 扩展已安装。十一、学习资源· 官方文档php.net/manual 中文文档非常完善· 现代 PHP 教程《PHP The Right Way》phptherightway.com· 练习平台Laravel 的入门教程、Codecademy PHP 课程· 社区PHP 中文网、SegmentFault、Stack OverflowPHP 的入门门槛很低却能支撑起庞大复杂的系统。通过掌握变量、函数、表单处理和数据库连接这几大基石你就已经能够独立开发留言板、博客、产品展示等动态网站了。随着学习的深入可以逐步引入 Composer 包管理和 Laravel 等框架真正踏入专业 Web 开发的大门。现在就动手创建你的第一个 PHP 应用吧