Cara menggunakan rangka kerja Lumen dalam PHP
Lumen ialah versi ringkas rangka kerja Laravel, yang memfokuskan pada membina perkhidmatan mikro ringan dan aplikasi API dengan cepat. Lumen ialah rangka kerja sumber terbuka yang dicipta dan diselenggara oleh Taylor Otwell. Ia terkenal dengan kelajuan dan prestasi yang menakjubkan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Lumen dalam PHP.
1. Pasang dan konfigurasikan rangka kerja Lumen
Mula-mula, anda perlu memasang alat komposer dalam sistem anda. Komposer ialah alat pengurusan pergantungan untuk PHP dan digunakan untuk memasang dan mengurus rangka kerja Lumen. Anda boleh memasang komposer dengan melawati URL berikut: https://getcomposer.org/download/.
Setelah alat komposer dipasang, anda boleh memasang Lumen dengan mengikut arahan:
composer create-project --prefer-dist laravel/lumen yourprojectname
Selepas menjalankan arahan di atas, komposer akan Buat direktori yang mengandungi projek Lumen yang dipasang.
2. Penghalaan
Dalam rangka kerja Lumen, penghalaan ialah pemetaan yang menghalakan permintaan kepada pengawalnya yang sepadan. Fail definisi laluan terletak dalam routes/web.php
dan boleh diakses melalui laluan $app->get('/', function () use ($app) {return " Hello World"; });
untuk menentukan laluan. Dalam contoh ini, kami mentakrifkan laluan akar supaya apabila seseorang mengakses laluan ini, "Hello, World" akan dikembalikan. routes/web.php
,可以通过路由$app->get('/', function () use ($app) {return "Hello World";});
的方式来定义路由。在此例子中,我们定义了根路径,当有人访问这个路由时,“Hello, World”将会返回。
3.控制器
在Lumen框架中,控制器是包含应用程序应该执行的代码的类。 控制器应该保存在app/Http/Controllers
目录中。下面是如何定义一个简单的控制器:
namespace AppHttpControllers; use AppUser; use IlluminateHttpRequest; class UserController extends Controller { public function show($id) { return view('user.profile', ['user' => User::findOrFail($id)]); } }
4.中间件
Lumen中可以使用一个中间件来操作请求,例如添加日志、验证输入或者授权等。 Lumen中间件的定义可以在app/Http/Middleware
目录中创建一个新文件。Lumen中间件包含两个方法:handle($request, Closure $next)
和__construct()
。handle
方法拦截一个请求并进行操作,__construct
方法可以接受任何依赖注入。以下是如何定义一个简单的中间件:
namespace AppHttpMiddleware; use Closure; class ExampleMiddleware { public function handle($request, Closure $next) { // Do something before the request is handled by another middleware $response = $next($request); // Do something after the request is handled by another middleware return $response; } }
5.模型
模型是Lumen框架中数据交互的核心。 在Lumen中,您可以使用默认的Eloquent ORM或者其他流行的ORM库来处理模型。以下是如何定义一个简单的模型:
namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { public $fillable = ['name', 'email', 'password']; }
6.视图
在Lumen框架中,您可以使用Blade模板引擎来生成视图。
Blade模板引擎是Laravel框架中默认的模板引擎,也可以用于Lumen框架。 这里是一个简单的视图模板示例:
<!-- Stored in resources/views/greeting.blade.php --> <html> <body> <h1>Hello, {{ $name }}</h1> </body> </html>
7.配置
Lumen框架的配置文件位于bootstrap/app.php
app/Http/Controllers
. Begini cara untuk menentukan pengawal mudah: $app->configure('app'); $app->configure('debug');
app/Http/Middleware
. Perisian tengah Lumen mengandungi dua kaedah: handle($request, Closure $next)
dan __construct()
. Kaedah handle
memintas permintaan dan menjalankan operasi Kaedah __construct
boleh menerima sebarang suntikan pergantungan. Begini cara untuk mentakrifkan perisian tengah yang mudah: class ExampleTest extends TestCase { public function testBasicExample() { $this->visit('/') ->see('Hello, World'); } }
bootstrap/app.php
. Dalam fail ini, anda boleh menukar pelbagai konfigurasi aplikasi seperti mod nyahpepijat, konfigurasi log, dsb. 🎜🎜Sebagai contoh, anda boleh mengkonfigurasi Lumen untuk dijalankan dalam mod nyahpepijat seperti berikut: 🎜rrreee 🎜 8. Pengujian 🎜🎜Rangka kerja Lumen menyediakan banyak alatan untuk menguji aplikasi. Gunakan kelas PHPUnit untuk menulis ujian dalam ujian unit Lumen. Ujian unit boleh mengesan ralat dan isu semasa kod aplikasi dibina. Berikut ialah contoh ujian unit: 🎜rrreee🎜Kesimpulan🎜🎜Menggunakan beberapa langkah mudah dalam rangka kerja Lumen boleh membangunkan perkhidmatan mikro dan aplikasi API dengan cepat dengan prestasi tinggi, dan ia juga sangat mudah apabila membina aplikasi ringan. 🎜Atas ialah kandungan terperinci Cara menggunakan rangka kerja Lumen dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!