laravel入门指南2 项目流程

本文详细介绍Laravel框架的项目搭建过程,包括环境配置、数据库迁移、数据填充、控制器创建及前端资源发布等关键步骤,为开发者提供全面的Laravel实战经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单元测试

php vendor/bin/phpunit

项目重新部署

  • 执行composer install安装依赖
  • 执行php artisan key:generate生成key
  • 建立上传文件的软连接 php artisan storage:link
  • composer dump-autoload 生成自动加载文件

laravel新项目

安装新框架
composer create-project --prefer-dist laravel/laravel blog
#生成密钥
php artisan key:generate
#修改配置
locale  timezone
数据库配置, session驱动 redis
#修改.gitignore忽略文件
.idea    phpstorm 项目文件
#创建数据库
CREATE DATABASE  `yourdbname` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
#nginx 配置
#安装常用扩展包
#目录创建
#数据迁移文件
#数据填充工厂
#注册路由
#写控制器代码
#生成系统自带的登录注册模块
php artisan make:auth 

php artisn tinker

namespace App;
factory(User::class,30)->create(); //生成30个填充数据

数据迁移

建立数据表迁移文件

#新建表的迁移文件
php artisan make:migration create_users_table --create=users
#修改表的迁移文件
php artisan make:migration add_votes_to_users_table --table=users

执行迁移,生成或修改表

php artisan migrate

建立模型

#带上-m 参数 生成模型的时候同时生成 数据迁移文件
php artisan make:model Flight -m

建立数据填充文件

php artisan make:seeder UsersTableSeeder

执行填充

# 执行填充
php artisan db:seed
# 执行指定填充类
php artisan db:seed --class=UsersTableSeeder
# 重建数据库,再次填充
php artisan migrate:refresh --seed   

建立控制器 composer dump-autoload

事件监听

创建时间,创建监听者,绑定两者

aritsan 命令创建 例如 登录事件,监听到后 发送邮件, 一个事件有多个监听者

时间监听流程

填充数据的方法

factory工厂,数据生成工厂,生成一条数据的内容,返回数组
seeder 类里去调用工厂,生产指定条数的数据,并执行添加生成的数据

扩展包

guzzlehttp/guzzle 网络请求

phpstorm

双击shift 查找 comman+E 然后回车, 回到上次打开的文件. 列出类的 方法属性列表 自定义 com shift 1 格式化代码 command+option+L

注册分析 见文档[安全][登录]部分

用自带的auth模块
// 获取当前认证用户
$user = Auth::user();
// 获取当前认证用户的ID
$id = Auth::id();
$request->user();
if (Auth::check())
Illuminate\Auth\Middleware\Authenticate 中的 auth 中间件
Route::get('profile', function() {
// 只有认证用户可以进入...
})->middleware('auth');
public function __construct(){
$this->middleware('auth');
}
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
自己传条件判断
}
if (Auth::viaRemember()) {
//是否记住我判断
}
// 登录并 "记住" 给定用户...
Auth::login($user, true);
// 用id登录并 "记住" 给定用户...
Auth::loginUsingId(1, true);
if (Auth::once($credentials)) {
一次性认证,单次请求认证
}
Auth::logout(); //退出
Auth::logoutOtherDevices($password); 仅允许单设备登录
需要Illuminate\Session\Middleware\AuthenticateSession 中间件在 app/Http/Kernel.php 类的 web 中间件组中存在且没有被注释:
//

系统安全

调试 屏蔽敏感配置显示 官方文档 - 配置-在调试页面隐藏环境变量

config/app.php debug_blacklist 显示黑名单配置

应用程序提升速度

php artisan config:cache

系统维护

php artisan down 见文档-配置-维护模式
Envoy 部署工具,快速在本地对远程服务器执行一系列命令

扩展包

illuminate/html
intervention/image

前端发布

# 配置前端依赖
package.json

# 安装前端依赖
npm install

# webpack.mix.js 编译配置


# 创建 vue 组件,注册 vue 组件
app.js 注册vue组件

# 编译文件发布到 public目录,当你执行 npm run dev 命令的时候,Webpack 将会执行webpack.mix.js 中的指令:
npm run dev

# 发布生产环境的资源
npm run production



# 模板需要加上 token
<meta name="csrf-token" content="{{ csrf_token() }}">

注:app.js 文件会加载 resources/js/bootstrap.js 以便启动和配置 Vue,Axios,jQuery 以及所有其它 JavaScript 依赖,如果你有额外的 JavaScript 依赖需要配置,请在这里操作。

开发专用扩展包

安装开发专用扩展包时 必须 使用 --dev 参数,如:

composer require laracasts/generators --dev

开发专用的 provider 绝不在 config/app.php 里面注册,必须 在 app/Providers/AppServiceProvider.php 文件中使用如以下方式:

public function register()
{
    if ($this->app->environment() == 'local') {
        $this->app->register('Laracasts\Generators\GeneratorsServiceProvider');
    }
}

转载于:https://my.oschina.net/yiupng/blog/3023282

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值