Laravel学习-01预备阶段-01 PHP 基础
在正式学习 Laravel 框架之前,掌握 PHP 基础是必不可少的。本文将简要回顾 Laravel 开发中常用的核心 PHP 知识点,包括变量、函数、数组、面向对象(OOP)、命名空间和自动加载(PSR-4)。语言尽量简洁,便于快速回顾。
1. 变量
PHP 是弱类型语言,变量以 $ 开头,无需显式声明类型:
$name = "Laravel";
$version = 11;
$isAwesome = true;
变量作用域主要有:
- 局部变量:在函数内部定义。
- 全局变量:在函数外部定义,需用
global或$GLOBALS访问。 - 静态变量:用
static声明,函数调用结束后保留值。
2. 函数
使用 function 定义函数:
function greet($name) {
return "Hello, $name!";
}
echo greet("Taylor"); // Hello, Taylor!
支持默认参数、可变参数(...)和匿名函数(闭包):
$add = fn($a, $b) => $a + $b; // PHP 7.4+ 箭头函数
3. 数组
PHP 数组实际是有序映射,支持索引数组和关联数组:
// 索引数组
$colors = ['red', 'green', 'blue'];
// 关联数组
$user = [
'name' => 'Alice',
'age' => 30
];
// 多维数组
$users = [
['name' => 'Bob', 'age' => 25],
['name' => 'Eve', 'age' => 28]
];
常用数组函数:array_map(), array_filter(), in_array(), array_key_exists() 等。
4. 面向对象(OOP)
PHP 支持完整的面向对象特性:
类与对象
class User {
public $name;
private $email;
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
public function getName() {
return $this->name;
}
}
$user = new User("Taylor", "taylor@laravel.com");
echo $user->getName(); // Taylor
继承、接口、抽象类
interface Authenticatable {
public function login();
}
abstract class BaseModel {
abstract public function save();
}
class Post extends BaseModel implements Authenticatable {
public function save() { /* ... */ }
public function login() { /* ... */ }
}
访问控制
public:任何地方可访问。protected:类自身及子类可访问。private:仅类内部可访问。
5. 命名空间(Namespace)
命名空间用于避免类名冲突,Laravel 广泛使用命名空间:
<?php
namespace App\Models;
class User {
// ...
}
使用其他命名空间的类:
use App\Models\User;
use Illuminate\Support\Facades\DB;
$user = new User();
全局命名空间用 \ 开头,如 \strlen()。
6. 自动加载(PSR-4)
手动 require 文件非常繁琐。PHP 通过 自动加载(Autoloading) 解决这个问题。
PSR-4 是现代 PHP 项目的标准自动加载规范。它将命名空间与目录结构映射:
- 命名空间:
App\Models\User - 文件路径:
/app/Models/User.php
小结
以上是 Laravel 开发所需的 PHP 基础核心内容。掌握这些,你就能更顺畅地理解 Laravel 的源码和设计思想。下一步,我们将进入 Laravel 环境搭建与项目结构介绍。
系列预告:
《Laravel学习-01预备阶段-02 Composer》