hexters/wirehmvc
Composer 安装命令:
composer require hexters/wirehmvc
包简介
Package for laravel and livewwire with HMVC convept
关键字:
README 文档
README
This package is a support package for the hexters/laramodule package specifically made to integrate hexters/laramodule with livewire version 3.
To install through Composer, by run the following command:
composer require hexters/wirehmvc
Installation
Autoloading
By default the module classes are not loaded automatically. You can autoload your modules using psr-4. For example :
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
}
}
And make Modules directory in your root project folder
mkdir Modules
Don't forget to run the commands below
composer dump-autoload
Manually add LivewireHandleUpdateProvider to the list of providers in the app.php config file
. . . 'providers' => ServiceProvider::defaultProviders()->merge([ /* * Package Service Providers... */ Hexters\Wirehmvc\LivewireHandleUpdateProvider::class, // add here /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, . . .
Important notes
If you want to use the mount() hook, make sure you run the parent::mount() for the parent class, see the example below.
. . . use Hexters\Wirehmvc\Component; . . . class Welcome extends Component { public function mount() { parent::mount(); // Your code here... } public function render() { return view('admin::livewire.welcome'); } . . .
Create Module
Follow the command below to create a module, and select Livewire in preset option!
php artisan module:make Blog
You can also do this with an existing module, but remember that. The route.php file will be replaced by a new file.
php artisan module:livewire-init --module=Blog
Artisan
php artisan module:make-livewire Counter --module=Blog php artisan module:livewire-attribute ArticleTileAttribute --module=Blog php artisan module:livewire-form ArticleForm --module=Blog php artisan module:livewire-delete Counter --module=Blog
More complete commands can be seen at the link below.
Artisan Documentation
Layouting
You need a layout for your livewire component, you can use the default layout from livewire and you can also create one specifically for your module.
Default command from livewire
php artisan livewire:layout
Custom for specific modules
php artisan module:livewire-layout --name=app --module=Blog
Rendering components
Rendering components can only be done on components in the module folder, or you can see Modules\Blog\Http\Middleware\LivewireSetupBlogMiddleware class. I assume the module name is Blog!
In order for a component to be used in another module, you need to register it first, open the provider in each of your modules, see the example below.
. . . class BlogServiceProvider extends ServiceProvider { . . . protected function defineLivewireComponents() { return [ NabBar::class, // OR 'nav-bar' => NavBar::class, ]; }
Each declared component will be given a prefix according to the module name, so when calling it, you need to add a prefix in front of it, see the example below.
<livewire:blog-nav-bar />
hexters/wirehmvc 适用场景与选型建议
hexters/wirehmvc 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 2, 最近一次更新时间为 2023 年 10 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「laravel package」 「laravel module」 「laravel modular」 「laravel hmvc」 「livewire」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hexters/wirehmvc 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hexters/wirehmvc 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hexters/wirehmvc 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Simple ASCII output of array data
bootstrap select field module implementing http://silviomoreto.github.io/bootstrap-select/
Yii2 module to manage website content. Kind of a CMS...
Alfabank REST API integration
Codeurx Modular is simply a package for Laravel to help you create and manage modules.
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-18