在Linux上使用Laravel進行API開發是一個相對直接的過程。以下是一些基本步驟,幫助你開始:
首先,你需要安裝Laravel。你可以使用Composer來全局安裝Laravel安裝程序。
composer global require laravel/installer
確保將Composer的全局bin目錄添加到你的系統PATH中。例如,在~/.bashrc
或~/.zshrc
文件中添加以下行:
export PATH="$HOME/.composer/vendor/bin:$PATH"
然后運行:
source ~/.bashrc # 或 source ~/.zshrc
使用Laravel安裝程序創建一個新的Laravel項目:
laravel new my-api
這將創建一個名為my-api
的新目錄,并在其中設置Laravel項目。
進入你剛剛創建的項目目錄:
cd my-api
使用Composer安裝項目的依賴:
composer install
復制.env.example
文件到.env
文件,并編輯.env
文件以配置你的數據庫和其他環境變量:
cp .env.example .env
nano .env
確保設置以下變量:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:your-app-key
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your-database
DB_USERNAME=your-username
DB_PASSWORD=your-password
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
運行數據庫遷移以創建必要的表:
php artisan migrate
使用Artisan命令創建一個新的API控制器:
php artisan make:controller API/UserController --api
這將創建一個名為UserController
的控制器,并標記它為API控制器。
打開routes/api.php
文件,并添加一些API路由:
use App\Http\Controllers\API\UserController;
Route::get('/users', [UserController::class, 'index']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/{id}', [UserController::class, 'show']);
Route::put('/users/{id}', [UserController::class, 'update']);
Route::delete('/users/{id}', [UserController::class, 'destroy']);
在UserController
中實現這些方法。例如:
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return User::all();
}
public function store(Request $request)
{
$user = User::create($request->all());
return response()->json($user, 201);
}
public function show(User $user)
{
return $user;
}
public function update(Request $request, User $user)
{
$user->update($request->all());
return response()->json($user);
}
public function destroy(User $user)
{
$user->delete();
return response()->json(null, 204);
}
}
使用Artisan命令啟動Laravel開發服務器:
php artisan serve
現在,你可以在瀏覽器或使用工具如Postman訪問http://localhost:8000/api/users
來測試你的API。
如果你需要從不同的域訪問你的API,你可能需要配置CORS(跨域資源共享)。你可以使用fruitcake/laravel-cors
包來實現這一點。
安裝包:
composer require fruitcake/laravel-cors
然后在app/Http/Kernel.php
文件中注冊中間件:
protected $middleware = [
// ...
\Fruitcake\Cors\HandleCors::class,
];
最后,在config/cors.php
文件中配置CORS選項:
return [
'paths' => ['api/*'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,
];
這樣,你就可以在Linux上使用Laravel進行API開發了。祝你編程愉快!