Laravel快速開發後端API指引一

laravel安裝

1.環境要求安裝LNMP開發環境,推薦使用寶塔
2.composer global require “laravel/installer”
3.如果缺少vendor文件,使用composer install
4.應用程序生成祕鑰 php artisan key:generate
5,本教程基於laravel5.5

laravel配置文件

複製項目目錄下的配置文件 cp .env.example .env
修改 .env文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=databasename
DB_USERNAME=username
DB_PASSWORD=password

laravel get 示例

vim routes/web.php

<?php
//測試get API參數傳遞
Route::get('/user/{name}', 'Controller@index');

vim app/Http/Controllers/controller.php

use Illuminate\Http\Request;
class Controller extends BaseController
{

    /**添加參數校驗
     *測試get請求
     * @param $name
     */
    public function index(Request $request, $name)
    {
       $env = App::environment();        //環境變量
       $res =  ['name'=>$name];
       return response()->json($res);
    }
}

postman進行測試

在這裏插入圖片描述

laravel post 示例

vim routes/web.php

//測試postAPI參數
Route::post('test', 'Controller@test');

vim app/Http/Controllers/controller.php

use Illuminate\Http\Request;
class Controller extends BaseController
{

   /**
     * 測試post請求
     * @param $name $age
     */
    public function test(Request $request)
    {
        $name = $request->input('name');
        $age = $request->input('age');
        $result['name'] = $name . $age;
        return response()->json($result);
    }
}

postman請求測試

在這裏插入圖片描述

laravel mysq mvc操作

新建文件夾 /app/Models
創建model文件 php artisan make:models Test
vim /app/Models/Test.php

use Illuminate\Database\Eloquent\Model;
use DB;

class Test extends Model
{
    /**
     * 測試方法調用
     * model 層數據庫調用
     */
    public function getData()
    {
        //原生sql操作
        $users = DB::select('select * from user', [1]);
        //ORM
        $data = DB::table('user')->get()->getList();//對象轉爲數組
        $res = $data[0]['id'];
        return $res;
    }

vim app/Http/Controllers/Controller.php

use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Models\Test;//測試model類
use Predis;

class Controller extends BaseController
{
    public function test()
        {
            $Test = new Test; //初始化類
            $res['data'] = $Test->getData();
            return response()->json($res);
        }
}

laravel redis連接

laravel官方推薦使用composer安裝predis
本示例使用phpredis(c擴展)
修改配置文件config/database.php
修改redis別名config/app.php

'redis' => [
        'client' => 'phpredis', //由pedis修改爲phpredis
        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
            'read_timeout' => 60,
        ],
    ],
//'Redis' => Illuminate\Support\Facades\Redis::class,
'Predis' => Illuminate\Support\Facades\Redis::class,

測試redis連接

use Predis;

class Controller extends BaseController
{

   /**
     * 測試redis連接
     * @param $name $age
     */
    public function test()
    {
      $data = Predis::connection();
        var_dump($data);
    }
}

laravel連接多個數據庫配置

添加配置文件
vim config/database.php

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', ''),
            'username' => env('DB_USERNAME', ''),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
        'mysql_center' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST_CENTER', '127.0.0.1'),
            'port' => env('DB_PORT_CENTER', '3306'),
            'database' => env('DB_DATABASE_CENTER', ''),
            'username' => env('DB_USERNAME_CENTER', ''),
            'password' => env('DB_PASSWORD_CENTER', ''),
            'unix_socket' => env('DB_SOCKET_CENTER', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

vim .env

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=databasename
DB_USERNAME=name
DB_PASSWORD=password

DB_HOST_CENTER=127.0.0.1
DB_PORT_CENTER=3306
DB_DATABASE_CENTER=test
DB_USERNAME_CENTER=name
DB_PASSWORD_CENTER=password

測試連接
vim app/Http/Controllers/controller.php

use Illuminate\Http\Request;
use DB;

class Controller extends BaseController
{

    /**添加參數校驗
     *測試get請求
     * @param $name
     */
    public function index(Request $request, $name)
    {
       $dataDafault = DB::select('select * from user', [1]);
        echo '使用默認數據庫查詢';
        var_dump($dataDafault);
        echo '使用mysql_center查詢';
        $dataCenter = DB::connection('mysql_center')->select('select * from user', [1]);
        var_dump($dataCenter);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章