第1课:PHP介绍与环境搭建

【腾讯云】语音识别准确率高,支持多语种,多场景,限时特惠,最低14.9元起

推广

【腾讯云】语音识别准确率高,支持多语种,多场景,限时特惠,最低14.9元起

PHP介绍与环境搭建

什么是PHP?

PHP(PHP: Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适合Web开发。PHP代码可以嵌入到HTML中,在服务器端执行,生成动态网页内容。

PHP的历史

  • 1994年:Rasmus Lerdorf创建PHP/FI
  • 1997年:PHP 3.0发布,重写核心
  • 2000年:PHP 4.0发布,引入Zend引擎
  • 2004年:PHP 5.0发布,增强面向对象
  • 2015年:PHP 7.0发布,性能大幅提升
  • 2020年:PHP 8.0发布,引入JIT编译
  • 2023年:PHP 8.3发布,持续优化

PHP的特点

1. 简单易学

<?php
// 第一个PHP程序
echo "Hello, World!";
?>

2. 跨平台

  • Windows、Linux、macOS
  • 各种Web服务器(Apache、Nginx、IIS)
  • 多种数据库支持

3. 开源免费

<?php
// PHP是完全免费的开源语言
// 拥有庞大的社区支持
?>

4. 丰富的功能

  • 内置大量函数库
  • 强大的字符串处理
  • 完善的数据库支持
  • 丰富的扩展模块

5. 快速开发

<?php
// 连接数据库并查询数据
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch()) {
    echo $row['name'] . '<br>';
}
?>

PHP的应用领域

1. Web开发

<?php
// 动态网站开发
// 内容管理系统
// 电子商务网站
// 社交网络平台
?>

知名PHP网站

  • Facebook(早期)
  • Wikipedia
  • WordPress
  • Drupal

2. API开发

<?php
header('Content-Type: application/json');

$data = [
    'status' => 'success',
    'message' => 'API响应成功',
    'data' => ['id' => 1, 'name' => '用户1']
];

echo json_encode($data);
?>

3. 命令行脚本

#!/usr/bin/php
<?php
// 命令行脚本
echo "这是一个命令行PHP脚本\n";

// 处理命令行参数
if ($argc > 1) {
    echo "参数: " . $argv[1] . "\n";
}
?>

4. 桌面应用

<?php
// 使用PHP-GTK开发桌面应用
// 虽然不常见,但是可行的
?>

开发环境搭建

1. 集成环境(推荐新手)

XAMPP

# Windows/macOS/Linux
# 包含Apache + MySQL + PHP + phpMyAdmin
# 一键安装,简单易用

# 下载地址
https://www.apachefriends.org/

WAMP(Windows)

# Windows + Apache + MySQL + PHP
# 专为Windows设计
# 界面友好,配置简单

# 下载地址
http://www.wampserver.com/

MAMP(macOS)

# macOS + Apache + MySQL + PHP
# 专为macOS设计
# 免费版和专业版

# 下载地址
https://www.mamp.info/

2. 手动安装

Windows安装

# 1. 下载PHP
https://windows.php.net/download/

# 2. 解压到目录
C:\php\

# 3. 配置环境变量
# 将C:\php添加到PATH

# 4. 配置php.ini
copy php.ini-development php.ini

# 5. 测试安装
php -v

Linux安装

# Ubuntu/Debian
sudo apt update
sudo apt install php php-cli php-mysql php-curl php-json

# CentOS/RHEL
sudo yum install php php-cli php-mysql php-curl php-json

# 或使用dnf
sudo dnf install php php-cli php-mysql php-curl php-json

# 验证安装
php -v

macOS安装

# 使用Homebrew
brew install php

# 或使用MacPorts
sudo port install php81

# 验证安装
php -v

3. Docker安装

# 拉取PHP镜像
docker pull php:8.3-apache

# 运行容器
docker run -d -p 80:80 -v $(pwd):/var/www/html php:8.3-apache

# 或使用docker-compose
version: '3.8'
services:
  php:
    image: php:8.3-apache
    ports:
      - "80:80"
    volumes:
      - ./src:/var/www/html

开发工具选择

1. 专业IDE

PhpStorm

<?php
// JetBrains开发的专业PHP IDE
// 智能代码补全
// 强大的调试功能
// 版本控制集成
// 付费软件,功能最强大
?>

Eclipse PDT

<?php
// 免费的PHP开发工具
// 基于Eclipse平台
// 插件丰富
// 适合大型项目开发
?>

2. 轻量级编辑器

Visual Studio Code

<?php
// 微软开发的免费编辑器
// 丰富的PHP扩展
// 轻量级,启动快速
// 强大的插件生态
?>

推荐扩展

  • PHP Intelephense
  • PHP Debug
  • PHP DocBlocker
  • Prettier

Sublime Text

<?php
// 轻量级文本编辑器
// 启动速度极快
// 强大的插件系统
// 付费软件,有试用期
?>

3. 在线编辑器

<?php
// 适合学习和测试
// 无需本地环境
// 即时运行代码
?>

推荐平台

  • PHP Sandbox
  • 3v4l.org
  • CodePen(支持PHP)
  • Repl.it

第一个PHP程序

1. 基础语法

<?php
// PHP开始标签
echo "Hello, World!";
// PHP结束标签可以省略
?>

2. 嵌入HTML

<!DOCTYPE html>
<html>
<head>
    <title>我的第一个PHP页面</title>
</head>
<body>
    <h1><?php echo "欢迎学习PHP!"; ?></h1>
    <p>当前时间:<?php echo date('Y-m-d H:i:s'); ?></p>
</body>
</html>

3. 变量和数据类型

<?php
// 变量定义
$name = "张三";
$age = 25;
$height = 175.5;
$is_student = true;

// 输出变量
echo "姓名:" . $name . "<br>";
echo "年龄:" . $age . "<br>";
echo "身高:" . $height . "cm<br>";
echo "是否学生:" . ($is_student ? "是" : "否") . "<br>";
?>

4. 数组操作

<?php
// 索引数组
$fruits = ["苹果", "香蕉", "橙子"];
echo "第一个水果:" . $fruits[0] . "<br>";

// 关联数组
$person = [
    "name" => "李四",
    "age" => 30,
    "city" => "北京"
];
echo "姓名:" . $person["name"] . "<br>";

// 遍历数组
foreach ($fruits as $fruit) {
    echo "水果:" . $fruit . "<br>";
}
?>

5. 函数定义

<?php
// 定义函数
function greet($name) {
    return "你好," . $name . "!";
}

// 调用函数
echo greet("世界");

// 带默认参数的函数
function calculate($a, $b, $operation = "add") {
    switch ($operation) {
        case "add":
            return $a + $b;
        case "subtract":
            return $a - $b;
        case "multiply":
            return $a * $b;
        case "divide":
            return $b != 0 ? $a / $b : "除数不能为零";
        default:
            return "未知操作";
    }
}

echo "<br>5 + 3 = " . calculate(5, 3);
echo "<br>5 - 3 = " . calculate(5, 3, "subtract");
?>

配置文件详解

php.ini重要配置

; 错误报告
error_reporting = E_ALL
display_errors = On

; 内存限制
memory_limit = 128M

; 执行时间限制
max_execution_time = 30

; 文件上传
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M

; 时区设置
date.timezone = Asia/Shanghai

; 扩展模块
extension=mysqli
extension=pdo_mysql
extension=curl
extension=gd

常见问题解决

1. PHP版本检查

<?php
echo "PHP版本:" . PHP_VERSION . "<br>";
echo "操作系统:" . PHP_OS . "<br>";
phpinfo(); // 显示详细信息
?>

2. 扩展检查

<?php
// 检查扩展是否安装
if (extension_loaded('mysqli')) {
    echo "MySQL扩展已安装<br>";
} else {
    echo "MySQL扩展未安装<br>";
}

// 列出所有已安装的扩展
print_r(get_loaded_extensions());
?>

3. 错误调试

<?php
// 开启错误显示
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// 自定义错误处理
function customError($errno, $errstr) {
    echo "<b>错误:</b> [$errno] $errstr<br>";
}
set_error_handler("customError");
?>

学习建议

1. 学习路径

  1. 基础语法:变量、数据类型、运算符
  2. 控制结构:条件语句、循环语句
  3. 函数:内置函数、自定义函数
  4. 数组:索引数组、关联数组
  5. 字符串:字符串处理函数
  6. 文件操作:文件读写、目录操作
  7. 数据库:MySQL连接和操作
  8. 面向对象:类、对象、继承
  9. 错误处理:异常处理机制
  10. 实战项目:完整Web应用开发

2. 实践建议

  • 每天编写代码练习
  • 阅读优秀的开源项目
  • 参与PHP社区讨论
  • 关注PHP最新发展

3. 学习资源

  • 官方文档:https://www.php.net/manual/zh/
  • 在线教程:菜鸟教程、W3School
  • 视频课程:慕课网、极客时间
  • 书籍推荐:《PHP和MySQL Web开发》

总结

PHP是一门优秀的Web开发语言:

  1. 简单易学:语法简洁,上手容易
  2. 功能强大:丰富的内置函数和扩展
  3. 社区活跃:大量的学习资源和技术支持
  4. 应用广泛:从小型网站到大型应用
  5. 持续发展:版本不断更新,性能持续提升

掌握PHP将为你的Web开发之路打下坚实的基础。

下一课预告

在下一课中,我们将学习PHP的基础语法,包括:

  • 变量和常量
  • 数据类型详解
  • 运算符使用
  • 注释规范

💡 小贴士:学习编程最重要的是多练习。建议每学完一个知识点就立即编写代码验证,这样能更好地理解和记忆。

Vue3 + TypeScript 企业级项目实战

课程推荐

Vue3 + TypeScript 企业级项目实战
Python 全栈开发工程师培训

热门课程

Python 全栈开发工程师培训

📚 文章对你有帮助?请关注我的公众号,万分感谢!

获取更多优质技术文章,第一时间掌握最新技术动态

关注公众号

关注公众号

第一时间获取最新技术文章

添加微信

添加微信

技术交流 · 问题答疑 · 学习指导

评论讨论

欢迎留下你的想法和建议