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);
}
}