首页 > 编程语言 >PHP Laravel框架的安装使用

PHP Laravel框架的安装使用

时间:2024-12-02 15:28:33浏览次数:8  
标签:Laravel Product 框架 创建 products PHP id

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.配置数据库连接

  1. 打开 .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_DATABASEDB_USERNAMEDB_PASSWORD 替换为你自己的数据库信息。

  1. 如果你还没有数据库,可以使用以下命令创建一个新的数据库:
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 表的数据。你可以继续扩展功能,例如验证请求、处理错误、添加认证等。

标签:Laravel,Product,框架,创建,products,PHP,id
From: https://blog.csdn.net/2301_80064737/article/details/144180865

相关文章

  • PHP语法学习(第三天)
    老规矩,先回顾一下昨天学习的内容PHP语法学习(第二天)主要学习了PHP变量、变量的作用域、以及参数作用域。今天由Tom来打开新的篇章文章目录echo和print区别PHPecho语句实例PHPprint语句实例PHP数组创建数组利用array()函数数组的类型索引数组关联数组......
  • RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式
    1、介绍在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。目前主流的方式就三种:数据库直连、WCF模式、WebAPI模式,三这种方式都......
  • 帝国CMS用PHP调用栏目导航标签并高亮简单版
    <?php$sql=$empire->query("selectclassid,sonclass,classname,islast,islistfrom{$dbtbpre}enewsclasswherebclassid=0andshowclass=0orderbymyorder,myorderasc");while($s=$empire->fetch($sql)){$classurl=sys_ReturnBqClas......
  • 从零开始的 CPT (Continual Pre-Training): 摆脱复杂的训练框架
    由于要解决一些业务问题,需要将领域知识喂给大模型。之前只做过简单的finetuning(在GLM的框架上跑了一些lora,数据量也不大),但是现在要将整个细分工业领域的相关数据都收集起来训练,规模上比之前半手动构造的微调数据集要大了很多,调研了一圈,更适合在pre-train阶段去做训练。尝试......
  • flask框架活动信息管理(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于工程教育专业认证相关研究,现有研究主要以工程教育专业认证的理念、标准和实践经验为主,专门针对工程教育专业认证网站建设的研究较......
  • flask框架共享单车系统(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于共享单车系统的研究,现有研究多聚焦于共享单车的商业模式、市场推广以及宏观层面的发展战略等方面,专门针对共享单车系统内部各个功......
  • (2024最新毕设合集)基于python的医疗用品管理平台-35382|可做计算机毕业设计JAVA、PHP、
    摘要本论文主要论述了如何基于Python开发一个医疗用品管理平台,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述医疗用品管理平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。......
  • JavaAPI高级编程.集合框架
    集合框架1.集合框架的概念(1)集合框架实际上就是一个动态数组,与一般的对象数组不同,集合对象的内容可以任意扩充。(2)集合框架中的特征A.这种框架是高性能的B.框架必需允许不同的类型的类集以相同的方式和高度互操作方式工作C.类集必须是任意扩展和修改的集合框架常用接口(表......
  • PhPMyadmin-漏洞复现
    前情条件是:首先将我们的PHP版本设置在5.5以上注:禁止用于未授权的测试!首先搭建环境,登录后台 点击》》SQL 查看当前的日志状态SHOWVARIABLESLIKE'general%';因为之前我原来做过所以general_log是开启的,如果vlau是OFF时,可以使用setglobalgeneral_log......
  • pytorch框架的模型定义以及推理数据流向
    文章目录一、前言二、模型初始化2.1定义顺序2.2参数顺序2.3在优化器中的顺序2.4在计算图中的顺序2.5总结三、推理数据流3.1init定义顺序3.2forward中的执行顺序3.3训练与优化器中的顺序3.4总结:一、前言这篇博文旨在基于pytorch深度学习框,讲解模型定义......