سلام دوستان
از لایو وایر در یک پروژه میخوام استفاده کنم که با کمک پکیج laravel module بصورت ماژولار تعریف شده.
سوالم اینه که وقتی میخوام با دستور make:livewire کامپوننت جدید بسازم چطوری میتونم مسیر کامپوننت و داخل ماژول تعریف کنم؟
توی فایل کانفیگ این آدرس و عوض میکنم ولی این مسیر و از داخل پوشه app شروع میکنه و تمام فولدر هارو داخل app دوباره میسازه.
'class_namespace' => 'Modules\\Crm\\Http\\Livewire',
این آدرس هارو هم امتحان کردم ولی درست نمیشه
'class_namespace' => '\\Modules\\Crm\\Http\\\Livewire',
'class_namespace' => '../Modules\\Crm\\Http\\\Livewire',درود
من هنوز با livewire کار نکردم اما پروژه های خودم رو با همین ماژول پیش میبرم.
همینطور که میدونید، دستور ایجاد ماژول جدید برای مثلاً Category اینه:
php artisan module:make Category
حالا اگر نمیسازه، ممکنه کلمه کلیدی باشه و بهتره یک پسوند یا پیشوند اضافه کنید.
تا جایی که من میدونم livewire یک ابزار کار برای فرانته و نباید بصورت ماژول در بیاد و نصبش باید در روت اصلی باشه.
با این حال اگر اصرار به این کار دارید، یک ماژول خالی دیگه بسازید و بصورت دستی فایلها و فولدرها رو در اون قرار بدید.
شاید پاسخ شما همینجا باشد
اتفاقاً همین الان دارم با کامپوننت ها کار میکنم.
بله درسته و هر ماژول فایل های resource خودشو داره اما فلسفه کامپوننت ها اینه که کد تکراری نزنین. پس باید همه ماژولها به کامپوننت های مشترک دسترسی داشته باشند.
من کامپوننت ها رو در روت اصلی ایجاد کردم تا همه ماژولها بتونن ازش استفاده کنند.
در کل اگر کد زیر رو هم بزنید، ایجاد کامپوننت تو دستورات نیست و من تو چند سمپلهای اصلی هم ندیدم همچین موردی رو.
php artisan module:helpاین لینک و ببین لطفا,
لایو وایر به ازای هر فایل view یک فایل بک اند هم ایجاد میکنه . شما فرض کن کامپوننت هایی که ایجاد میشن کار مشترکی قرار نیست انجام بدن و به ازای هر rout اتفاق متفاوتی قرار هست بیوفته. چطور میشه به تفکیک برای هر ماژول کامپوننت اختصاصی خودشو ایجاد کرد؟
سلام وقتتون بخیر میتونید از پکیج زیر استفاده کنید:
https://github.com/mhmiton/laravel-modules-livewire