laravel框架学习

一、文件上传
在控制器中按下面所示书写

public function upload(){
	$this->domain = $_SERVER['HTTP_HOST']; 
	//获取当前域我, 其实这个是不应该写在这儿(应该是一个全局),我只是做个例子。
	$file = $this->require->file('file');
	$name = $file->getClientOriginalName(); //文件名,前端传来的文件名,包括了扩展名
	$ext = $file->getClientOriginalExtension(); //文件的扩展名,只有扩展名
	$path = $file->move('./upload' , $name); //将临时文件移动到指定的目录
	$pathAll = $this->domain . '/upload/' . $name;
	$arr = [
	    'path'  =>  $pathAll,
	    'msg'   =>  '上传成功'
	];
	return response()->json($arr , 200);
	//注:response()->json($arr , 200)
	//后面的200为http的状态码。默认就是200,如果想用其他的状态码,请直接写上其他的
}

二、jwt的安装和使用
1、安装

composer require tymon/jwt-auth 1.*@rc

2、配置

# 这条命令会在 config 下增加一个 jwt.php 的配置文件
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
 
# 这条命令会在 .env 文件下生成一个加密密钥,如:JWT_SECRET=foobar
php artisan jwt:secret

3、 修改 auth.php

//在 guards 部份
'guards' => [
	'web' => [
	    'driver' => 'jwt',
	    'provider' => 'users', //注意这儿的 users 需要跟下面 providers 部份的 名字一样
	],
],

'providers' => [
	'users' => [
		'driver' => 'eloquent',
		'model' => App\Models\User::class,
	],
],

4、修改user.php文件

//在该文件最下面,添加如下代码
public function getJWTIdentifier()
{
	return $this->getKey();
}

public function getJWTCustomClaims()
{
	return [];
}

5、在控制中使用

use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Hash; //存入数据库的密码需要使用 hash加密  Hash::make('123456');
use App\Models\User;

public function setToken(){
	//方法一
	$u = User::first(); //查询用户表
	$token = JWTAuth::fromUser($u);
	var_dump($token);
	
	//方法二
	$postData = [
		'email' => '10aqq.com',
		'password'  =>  '123456'
	];
	$token = JWTAuth::attempt($postData);
}

三、多应用或者叫多模块(admin、index、api)
1、在项目根目下,执行

composer require nwidart/laravel-modules

2、执行完上面的语句后,在项目的 composer.json文件 中加上一行代码

"autoload": {
       "psr-4": {
           "App\\": "app/",
           "Database\\Factories\\": "database/factories/",
           "Database\\Seeders\\": "database/seeders/",
           "Modules\\": "Modules/" //注意,只有这一句才是需要加上去的,
       }
   },

3、再执行下面的语句(常试下,如果不执行能不能跑

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

4、上面三步执行完之后,我们就可以选择性的添加我们需要的模块了。

php artisan module:make Admin
php artisan module:make Index
php artisan module:make Api
php artisan module:make Test

5、别忘了还有最后一步

composer dump-autoload

之后就会在项目的根目录下看到如图所示(根目录下有一个Modules目录,该目录下会有我创建好的模块)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值