1.安装 PHP 和 Composer
首先,确保你已经在开发机器上安装了 PHP 和 Composer(PHP 的依赖管理工具)。
安装 PHP
你可以从 PHP 官方网站 下载并安装 PHP。安装时确保 PHP 的版本至少是 7.4 或更高版本。
安装 Composer
Composer 是 PHP 的包管理工具,Laravel 依赖它来安装框架的各类依赖。你可以从 Composer 官方网站 下载并安装 Composer。
可以使用以下命令检查是否安装成功:
php -v # 检查 PHP 版本
composer -v # 检查 Composer 版本
2.创建 Laravel 项目
使用 Composer 来创建 Laravel 项目。打开终端并执行以下命令:
composer create-project --prefer-dist laravel/laravel my-laravel-ap
这里 my-laravel-app
是你项目的名称,当然你可以根据需求修改。
这条命令会创建一个名为 my-laravel-app
的文件夹,并自动安装 Laravel 框架及其依赖。
3.配置数据库连接
- 打开
.env
文件,配置你的数据库连接:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password
将其中的 DB_DATABASE
、DB_USERNAME
和 DB_PASSWORD
替换为你自己的数据库信息。
- 如果你还没有数据库,可以使用以下命令创建一个新的数据库:
CREATE DATABASE your_database_name;
4.启动laravel开发服务器
在项目根目录下,执行以下命令启动 Laravel 的内置开发服务器:
php artisan serve
默认情况下,开发服务器会运行在 http://127.0.0.1:8000
,你可以在浏览器中访问该地址,看到 Laravel 欢迎页面,表示 Laravel 安装成功。
5.创建数据库迁移文件和模型
例:创建一个Product表
Laravel 提供了一个非常强大的迁移系统来管理数据库结构。下面我们创建一个 Product
表,并且通过 Eloquent ORM 来管理数据库中的数据。
创建迁移文件
使用 Artisan 命令来创建迁移文件:
php artisan make:migration create_products_table --create=products
这将会在 database/migrations/
目录下创建一个新的迁移文件。编辑此文件以定义数据库表结构:
<?php
use Illuminate\\Database\\Migrations\\Migration;
use Illuminate\\Database\\Schema\\Blueprint;
use Illuminate\\Support\\Facades\\Schema;
class CreateProductsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->id(); // 自增主键
$table->string('name'); // 商品名称
$table->decimal('price', 10, 2); // 商品价格
$table->string('category'); // 商品类别
$table->string('condition'); // 商品状态(新或二手)
$table->timestamps(); // 创建时间和更新时间
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('products');
}
}
运行迁移
运行以下命令来执行迁移,创建数据库表:
php artisan migrate
6. 创建模型
接下来,使用 Artisan 创建 Product
模型:
php artisan make:model Product
Laravel 会在 app/Models
目录下创建一个 Product.php
文件。你可以编辑这个模型文件来定义该模型的属性和关系:
<?php
namespace App\\Models;
use Illuminate\\Database\\Eloquent\\Factories\\HasFactory;
use Illuminate\\Database\\Eloquent\\Model;
class Product extends Model
{
use HasFactory;
// 定义允许批量赋值的字段
protected $fillable = ['name', 'price', 'category', 'condition'];
}
7.创建控制器
创建一个 ProductController
来管理产品的 API 路由:
php artisan make:controller ProductController
然后在 app/Http/Controllers/ProductController.php
中编写控制器逻辑:
<?php
namespace App\\Http\\Controllers;
use App\\Models\\Product;
use Illuminate\\Http\\Request;
class ProductController extends Controller
{
public function index()
{
return response()->json(Product::all());
}
public function show($id)
{
return response()->json(Product::findOrFail($id));
}
public function store(Request $request)
{
$product = Product::create($request->all());
return response()->json($product, 201);
}
public function update(Request $request, $id)
{
$product = Product::findOrFail($id);
$product->update($request->all());
return response()->json($product);
}
public function destroy($id)
{
Product::destroy($id);
return response()->json(null, 204);
}
}
8.配置API路由
打开 routes/api.php
文件,添加 ProductController
的路由:
use App\\Http\\Controllers\\ProductController;
Route::get('/products', [ProductController::class, 'index']);
Route::get('/products/{id}', [ProductController::class, 'show']);
Route::post('/products', [ProductController::class, 'store']);
Route::put('/products/{id}', [ProductController::class, 'update']);
Route::delete('/products/{id}', [ProductController::class, 'destroy']);
9.测试API
现在,你可以使用 Postman 或任何 API 测试工具,向 http://127.0.0.1:8000/api/products
发送请求,测试你的 API。
- GET /api/products: 获取所有产品。
- GET /api/products/{id}: 获取指定 ID 的产品。
- POST /api/products: 创建一个新产品。
- PUT /api/products/{id}: 更新指定 ID 的产品。
- DELETE /api/products/{id}: 删除指定 ID 的产品。
10.结语
通过以上步骤,你已经成功创建了一个 Laravel 项目,并实现了一个基本的 API 接口来管理 Product
表的数据。你可以继续扩展功能,例如验证请求、处理错误、添加认证等。