承接 hexters/wirehmvc 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hexters/wirehmvc

Composer 安装命令:

composer require hexters/wirehmvc

包简介

Package for laravel and livewwire with HMVC convept

README 文档

README

Latest Stable Version Total Downloads License

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 hexters/wirehmvc 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 26
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-10-18