Livewire是Laravel的扩展库,通过PHP实现前端交互,无需编写JavaScript即可构建动态网页。它支持实时搜索、表单提交等功能,与Laravel生态无缝集成。每个组件由PHP类和Blade模板组成,数据自动同步。使用composer require livewire/livewire安装后,在布局中添加@livewireStyles和@livewireScripts。通过php artisan make:livewire UserSearch创建组件,定义属性和render方法,在Blade中用wire:model.live实现输入实时更新。在页面中用@livewire('user-search')引入组件,输入时自动过滤用户列表,无刷新完成交互。

Laravel Livewire 让你在不写大量 JavaScript 的情况下构建动态、响应式的网页。它通过 PHP 直接处理前端交互,特别适合 Laravel 开发者快速实现表单提交、实时搜索、分页等常见功能。
什么是 Livewire?
Livewire 是一个 Laravel 扩展库,允许你用纯 PHP 编写组件来更新页面内容,无需手动编写 Ajax 或 Vue/React 代码。每个 Livewire 组件包含一个 PHP 类和一个 Blade 模板,数据状态自动在前后端同步。
关键特点:- 无需外接 JS 框架即可实现响应式交互
- 与 Laravel 路由、中间件、验证无缝集成
- 支持实时数据绑定、事件监听和生命周期钩子
安装与配置
在 Laravel 项目中通过 Composer 安装 Livewire:
composer require livewire/livewire确保布局文件(如 resources/views/layouts/app.blade.php)包含 Livewire 脚本标签:
@livewireStyles@stack('scripts')
@livewireScripts
这两个指令必须放在页面底部,用于加载 CSS 和 JS 支持。
创建第一个组件:实时搜索示例
使用 Artisan 命令生成组件:
php artisan make:livewire UserSearch这会生成两个文件:app/Livewire/UserSearch.php 和 resources/views/livewire/user-search.blade.php。
在伟大祖国63年华诞即将到来之际,AKCMS发布了AK政府网站系统。AK政府网站系统基于AKCMS引擎构建,继承了AKCMS灵活、小巧、速度快、负载强、安全稳定等优点,针对政府网站的特点进行了专门的优化。 AK政府网站系统前台页面大气美观,一方面体现了政府网站应有的庄重严肃,又有贴近民众的交流互动。非常适合党、政机关作为政府网站使用。 编辑内容界面,支持所见即所得,会用WORD就会录入内容,插入图
UserSearch.php 内容:
namespace App\Livewire;
use Livewire\Component;
use App\Models\User;
class UserSearch extends Component
{
public $search = '';
public function render()
{
return view('livewire.user-search', [
'users' => User::where('name', 'like', "%{$this->search}%")
->take(10)->get()
]);
}
}
user-search.blade.php 模板:
- {{ $user->name }} ({{ $user->email }})
@foreach($users as $user)
@endforeach
wire:model.live="search" 表示输入框内容变化时,自动触发后端更新,.live 修饰符启用实时请求(类似 debounce)。
在页面中使用组件
在任意 Blade 页面中引入组件:
@livewire('user-search')访问该页面时,输入文字会立即过滤用户列表,整个过程无刷新、无手动 JS。
基本上就这些。Livewire 把常见的交互逻辑封装得非常干净,适合快速开发管理后台、搜索框、开关切换等功能。掌握核心概念后,你可以进一步使用 actions、events、file uploads 等高级特性。









