《PHP入门到高级 -- 学习基础语法和概念》
PHP(Hypertext Preprocessor)作为一门历史悠久的服务器端脚本语言,凭借其易学性、跨平台性和强大的Web开发能力,长期占据动态网站开发的主流地位。从简单的表单处理到复杂的企业级框架,PHP的语法设计始终围绕“快速开发”和“实用主义”展开。本文将系统梳理PHP从入门到高级的核心知识体系,帮助开发者构建完整的技能树。
一、PHP基础语法:从Hello World开始
1.1 环境搭建与开发工具
PHP运行需要服务器环境,推荐使用集成开发包:
- Windows:XAMPP(Apache+MySQL+PHP+Perl)
- macOS:MAMP或内置PHP+Homebrew安装
- Linux:通过包管理器安装(如
sudo apt install php apache2
)
开发工具选择:VS Code(推荐PHP Intelephense插件)、PhpStorm(专业版功能强大)或Sublime Text。
1.2 第一个PHP程序
创建index.php
文件,输入以下代码:
通过浏览器访问http://localhost/index.php
,若看到输出则环境配置成功。PHP代码必须包含在标签中,
echo
是输出语句,分号;
表示语句结束。
1.3 变量与数据类型
PHP是弱类型语言,变量以$
开头:
$name = "John"; // 字符串
$age = 25; // 整数
$price = 9.99; // 浮点数
$is_active = true; // 布尔值
$null_var = null; // NULL类型
类型检测函数:gettype($var)
、is_string($var)
等。类型转换可通过(int)
、(string)
显式完成,或由PHP自动转换。
1.4 运算符与表达式
算术运算符:+ - * / %
(取模)
比较运算符:== === != !== > = (注意
===
严格比较类型)
逻辑运算符:&& || !
三元运算符:$result = $condition ? 'true' : 'false';
二、流程控制:让程序按预期运行
2.1 条件语句
if-else结构:
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
switch语句适用于多分支场景:
switch ($day) {
case 'Mon':
echo "星期一";
break;
case 'Tue':
echo "星期二";
break;
default:
echo "其他";
}
2.2 循环结构
for循环:
for ($i = 1; $i
while循环:
$count = 0;
while ($count
do-while保证至少执行一次:
$num = 5;
do {
echo $num--;
} while ($num > 0);
循环控制:break
退出循环,continue
跳过当前迭代。
三、函数与面向对象编程
3.1 自定义函数
函数定义与调用:
function calculateSum($a, $b) {
return $a + $b;
}
$result = calculateSum(3, 5); // 返回8
参数默认值:
function greet($name = "Guest") {
echo "Hello, $name!";
}
可变参数:func_get_args()
获取所有参数。
3.2 面向对象基础
类与对象:
class User {
public $username;
private $password; // 私有属性
public function __construct($name, $pwd) {
$this->username = $name;
$this->password = $pwd; // 通过构造方法初始化
}
public function login() {
return "登录成功:" . $this->username;
}
}
$user = new User("admin", "123456");
echo $user->login();
访问控制:public
(默认)、protected
(子类可访问)、private
(仅类内)。
3.3 继承与多态
class AdminUser extends User {
public function __construct($name, $pwd, $role) {
parent::__construct($name, $pwd);
$this->role = $role;
}
public function login() {
return parent::login() . ",角色:" . $this->role;
}
}
$admin = new AdminUser("root", "admin", "超级管理员");
echo $admin->login();
魔术方法:__construct()
、__destruct()
、__toString()
等。
四、数组与字符串处理
4.1 数组操作
索引数组:
$fruits = array("Apple", "Banana", "Orange");
// 或简写形式
$fruits = ["Apple", "Banana", "Orange"];
echo $fruits[1]; // 输出Banana
关联数组(键值对):
$person = [
"name" => "Alice",
"age" => 28,
"city" => "New York"
];
echo $person["name"];
数组函数:count()
、array_push()
、array_pop()
、array_merge()
、in_array()
等。
4.2 字符串处理
字符串连接:
$first = "Hello";
$second = "World";
echo $first . " " . $second; // 输出Hello World
常用函数:
$str = "PHP is awesome";
echo strlen($str); // 字符串长度
echo strtoupper($str); // 转为大写
echo strpos($str, "is"); // 查找子串位置
echo substr($str, 0, 3); // 截取前3个字符
五、文件与数据库操作
5.1 文件系统
读取文件:
$content = file_get_contents("test.txt");
echo $content;
写入文件:
file_put_contents("log.txt", "新日志内容", FILE_APPEND);
目录操作:scandir()
、is_dir()
、mkdir()
。
5.2 MySQL数据库连接
使用PDO(推荐方式):
try {
$pdo = new PDO("mysql:host=localhost;dbname=test", "username", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute(["张三", "zhangsan@example.com"]);
$result = $pdo->query("SELECT * FROM users");
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo $row["name"] . "
";
}
} catch (PDOException $e) {
echo "数据库错误:" . $e->getMessage();
}
六、高级特性与最佳实践
6.1 错误处理
自定义错误处理器:
set_error_handler(function ($errno, $errstr) {
echo "错误 [$errno]: $errstr";
});
异常处理:
try {
if ($age getMessage();
}
6.2 命名空间
解决类名冲突:
namespace MyApp\Models;
class User {
public function info() {
echo "用户模型";
}
}
// 使用
$user = new \MyApp\Models\User();
$user->info();
6.3 性能优化
- 使用OPcache加速代码执行
- 减少数据库查询次数(缓存、批量操作)
- 避免在循环中重复连接数据库
- 合理使用静态方法减少对象创建
七、PHP框架与现代开发
7.1 主流框架简介
- Laravel:全功能框架,适合大型项目
- Symfony:模块化设计,企业级应用
- CodeIgniter:轻量级,学习成本低
- Yii:高性能,内置AJAX支持
7.2 Composer依赖管理
安装第三方库:
composer require monolog/monolog
自动加载机制:
require __DIR__ . '/vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$log = new Logger('name');
$log->pushHandler(new StreamHandler('app.log', Logger::WARNING));
$log->warning('这是一条警告信息');
7.3 RESTful API开发
使用Laravel示例:
// routes/api.php
Route::get('/users', function () {
return response()->json(User::all());
});
Route::post('/users', function (Request $request) {
$user = User::create($request->all());
return response()->json($user, 201);
});
关键词:PHP基础语法、变量类型、流程控制、函数定义、面向对象编程、数组操作、字符串处理、文件系统、MySQL数据库、PDO连接、错误处理、命名空间、性能优化、Composer依赖管理、RESTful API
简介:本文系统讲解PHP从入门到高级的核心知识,涵盖基础语法、流程控制、函数与面向对象编程、数组与字符串处理、文件与数据库操作、高级特性及最佳实践,最后介绍现代PHP开发中的框架使用与API开发方法,适合各阶段开发者提升技能。