Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Rangka kerja pelaksanaan PHP: Tutorial pengenalan rangka kerja Lumen

Rangka kerja pelaksanaan PHP: Tutorial pengenalan rangka kerja Lumen

WBOY
WBOYasal
2023-06-18 08:39:022319semak imbas

Lumen ialah rangka kerja mikro berasaskan PHP yang dibangunkan oleh pembangun rangka kerja Laravel. Ia pada asalnya direka untuk membina aplikasi API kecil dan perkhidmatan mikro, sambil mengekalkan beberapa komponen dan ciri rangka kerja Laravel. Rangka kerja Lumen adalah ringan, pantas dan mudah digunakan, jadi ia telah mendapat perhatian dan penggunaan yang meluas. Dalam artikel ini, kami akan segera memulakan rangka kerja Lumen dan mempelajari cara menggunakan rangka kerja Lumen untuk membina aplikasi API mudah.

  1. Penyediaan rangka kerja

Sebelum mempelajari rangka kerja Lumen, kita perlu menyediakan rangka kerja terlebih dahulu. Rangka kerja Lumen boleh dipasang menggunakan komposer, jadi komposer perlu dipasang sebelum memasang Lumen. Pertama, kita perlu pergi ke laman web rasmi komposer untuk memuat turun dan memasang: https://getcomposer.org/download/. Selepas pemasangan selesai, kami boleh menyemak sama ada komposer berjaya dipasang pada baris arahan:

$ composer -v

Kami boleh mencari alamat muat turun Lumen di laman web rasmi Lumen, atau kita boleh menggunakan komposer terus Muat turun. Masukkan arahan berikut pada baris arahan untuk memuat turun dan memasang:

$ composer create-project --prefer-dist laravel/lumen app

Di sini, kami menggunakan arahan composer untuk memuat turun Lumen rangka kerja dan pasangkannya Pasang ke dalam direktori yang dipanggil "aplikasi".

  1. Pengurusan Laluan

Pengurusan laluan rangka kerja Lumen adalah sangat mudah dan mudah Kami hanya perlu mentakrifkan peraturan penghalaan yang sepadan dalam fail route/web.php. Berikut ialah contoh tetapan penghalaan mudah:

<?php

$router->get('/', function () use ($router) {
    return $router->app->version();
});

$router->get('/users', 'UserController@index');
$router->get('/users/{id}', 'UserController@show');

Di sini, kami mentakrifkan tiga peraturan penghalaan. Yang pertama ialah laluan lalai Apabila mengakses halaman utama tapak web, nombor versi Lumen dikembalikan secara lalai untuk mendapatkan senarai pengguna, dan kaedah pengawal yang sepadan adalah "indeks" dalam laluan ketiga; digunakan untuk Untuk mendapatkan maklumat terperinci tentang pengguna tertentu, kaedah pengawal yang sepadan ialah "tunjukkan" dalam UserController.

  1. Pengurusan pengawal

Pengurusan pengawal rangka kerja Lumen adalah serupa dengan rangka kerja Laravel Kami boleh mentakrifkan pengawal yang sepadan dalam direktori app/Http/Controllers. Berikut ialah contoh pengawal UserController:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return response()->json($users);
    }

    public function show($id)
    {
        $user = User::find($id);

        return response()->json($user);
    }
}

Di sini, kami mentakrifkan dua kaedah pengawal, sepadan dengan senarai pengguna dan mendapatkan butiran pengguna. Pada masa yang sama, kami menggunakan kaedah tindak balas dalam rangka kerja Lumen untuk mengembalikan data dalam format json.

  1. Operasi Pangkalan Data

Rangka kerja Lumen boleh melaksanakan operasi pangkalan data melalui Eloquent ORM terbina dalam rangka kerja Laravel. Kami boleh mengkonfigurasi pangkalan data yang sepadan dalam fail config/database.php, dan kemudian melaksanakan pertanyaan dan operasi pangkalan data melalui model. Berikut ialah contoh mudah:

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}

Ini ialah model Pengguna ringkas, yang mentakrifkan atribut boleh diisi untuk menentukan nama medan yang boleh diubah suai. Kami boleh menggunakan model ini dalam UserController untuk operasi pertanyaan dan pengubahsuaian:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();

        return response()->json($users);
    }

    public function show($id)
    {
        $user = User::find($id);

        return response()->json($user);
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required',
            'email' => 'required|unique:users',
            'password' => 'required'
        ]);

        $user = User::create([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => password_hash($request->input('password'), PASSWORD_DEFAULT)
        ]);

        return response()->json($user, 201);
    }
}

Di sini, kami telah menambah kaedah stor untuk menerima permintaan POST dan menyimpan data pengguna ke pangkalan data.

  1. Dapatkan hasil

Akhir sekali, kita boleh menggunakan baris arahan untuk memulakan pelayan pembangunan PHP terbina dalam untuk ujian. Jalankan arahan berikut dalam direktori akar rangka kerja:

$ php -S localhost:8000 -t public

Kemudian lawati http://localhost:8000/users dalam penyemak imbas dan anda akan berjaya Dapatkan maklumat senarai pengguna. Begitu juga, mengakses http://localhost:8000/users/1 juga akan berjaya mendapatkan maklumat pengguna khusus dengan ID 1.

Ringkasan

Di atas ialah proses pembangunan aplikasi API lengkap rangka kerja Lumen. Rangka kerja Lumen menyediakan kaedah pembangunan API yang ringan dan mudah sambil mengekalkan beberapa ciri terbaik rangka kerja Laravel, yang boleh membantu kami membina aplikasi API kecil dan perkhidmatan mikro dengan cepat. Jika anda berminat dengan rangka kerja Lumen, anda boleh cuba menggunakannya dalam projek sebenar.

Atas ialah kandungan terperinci Rangka kerja pelaksanaan PHP: Tutorial pengenalan rangka kerja Lumen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn