Laravel5.5+Homestead環境+搭建基礎架構

來源:互聯網
上載者:User
這篇文章主要介紹了關於 Laravel5.5+Homestead環境+搭建基礎架構,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

一、搭建項目基礎架構:(前後端分離寫api介面)

1、下載安裝laravel5;

命令列:composer create-project laravel/laravel 項目名稱 --prefer-dist "5.5.*"

2、安裝應用密鑰;

2.1、將.env.example 檔案重新命名為 .env,配置好資料庫等;

2.2、安裝密鑰:運行artisan命令 php artisan key:generate ,會產生APP_KEY值,.env檔案中。

APP_KEY=base64:yl52j20RBBhfs2LUB47126/9geAQ+l6A6Y9HgdHjb3M=

3、安裝DingoAPI;

命令列:composer require dingo/api:2.0.0-alpha1

報錯解決方式:開啟根目錄下的composer.json檔案,手動添加 "dingo/api": "2.0.0-alpha1"

然後執行 composer update

dingo/api已經成功安裝了

3.1、配置

先將 dingo 的設定檔 publish 出來,命令列:php artisan vendor:publish

執行成功後,我們會在 config 目錄先看到 api.php 檔案,開啟檔案我們可以看到所有的配置都是可以再 .env 中修改:

Accept: application/<API_STANDARDS_TREE>.<API_SUBTYPE>.v1+json

API_STANDARDS_TREE=prsAPI_SUBTYPE=changanAPI_PREFIX=apiAPI_VERSION=v1API_STRICT=trueAPI_DEBUG=true

(1)、訪問 v1 版本

Accept: application/prs.changan.v1+json

(2)、訪問 v2 版本

Accept: application/prs.changan.v2+json

(3) 、在.env.example 檔案中,提交到版本庫

# dingo configAPI_STANDARDS_TREE=API_SUBTYPE=API_PREFIX=API_VERSION=API_STRICT=API_DEBUG=

4、安裝jwt-auth令牌

命令列:composer require tymon/jwt-auth:1.0.0-rc.1

(1)、安裝完成後,我們需要設定一下 JWT 的 secret,這個 secret 很重要,用於最後的簽名,更換這個secret 會導致之前產生的所有 token 無效。

命令列:php artisan jwt:secret

(2) 、可以看到在 .env 檔案中,增加了一行 JWT_SECRET;

JWT_SECRET=xFWZJRNeK9S6R2TtVaASvqCnTtC7vvQv

(3)、修改 config/auth.php,將 api guard 的 driver 改為 jwt。

'guards' => [    'web' => [        'driver' => 'session',        'provider' => 'users',    ],    'api' => [        'driver' => 'jwt',        'provider' => 'admin_users',//admin_users是使用者表    ],],

(3)、修改 config/api.php,auth 中增加 JWT 相關的配置

'auth' => [    'jwt' => 'Dingo\Api\Auth\Provider\JWT',],

(4)、在config/app.php中添加

'aliases' => [    'App' => Illuminate\Support\Facades\App::class,    'Artisan' => Illuminate\Support\Facades\Artisan::class,    ..........    'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, //添加此行],

5、安裝Arrayserializer響應資料結構統一擴充包

命令列:composer require liyu/dingo-serializer-switch

安裝成功後,在路由檔案裡routes/api.php修改:

<?php$api = app('Dingo\Api\Routing\Router');$api->version('v1', [   'namespace' => 'App\Http\Controllers\Api',   'middleware' => ['serializer:array', 'bindings']], function ($api) {      $api->group([      'namespace' => 'Admin',      'prefix' => 'admin',      'middleware' => 'api.throttle'   ], function ($api) {          //寫路由(可根據命名空間分組)  });$api->version('v2', function ($api) {   $api->get('version', function () {            return response('this is version v2');         });});

6、添加語言套件使用 Composer 來安裝 laravel-lang

命令列:composer require "overtrue/laravel-lang:~3.0"

6.1、將項目語言設定為中文config/app.php

'locale' => 'zh-CN',
'timezone' => 'PRC',

備忘:語言套件在vendor->caouecs->laravel-lang->src檔案夾下,使用時直接將需要的語言套件複製到resources->lang檔案夾下即可使用。

基礎架構搭建到此結束

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.