راکت

استفاده از لایووایر در پروژه ماژولار

6 پاسخ

سلام دوستان
از لایو وایر در یک پروژه میخوام استفاده کنم که با کمک پکیج laravel module بصورت ماژولار تعریف شده.
سوالم اینه که وقتی میخوام با دستور make:livewire کامپوننت جدید بسازم چطوری میتونم مسیر کامپوننت و داخل ماژول تعریف کنم؟
توی فایل کانفیگ این آدرس و عوض میکنم ولی این مسیر و از داخل پوشه app شروع میکنه و تمام فولدر هارو داخل app دوباره میسازه.

'class_namespace' => 'Modules\\Crm\\Http\\Livewire',

این آدرس هارو هم امتحان کردم ولی درست نمیشه

'class_namespace' => '\\Modules\\Crm\\Http\\\Livewire',
'class_namespace' => '../Modules\\Crm\\Http\\\Livewire',
ثبت پرسش جدید

پاسخ‌ها

6
شهریار
شهریار
@shahriyar003

تخصص: برنامه نویس

یعنی هیچ کس نبود که تو این مورد کمک کنه؟!

electera
electera
@electera

درود
من هنوز با livewire کار نکردم اما پروژه های خودم رو با همین ماژول پیش میبرم.
همینطور که میدونید، دستور ایجاد ماژول جدید برای مثلاً Category اینه:

php artisan module:make Category

حالا اگر نمیسازه، ممکنه کلمه کلیدی باشه و بهتره یک پسوند یا پیشوند اضافه کنید.
تا جایی که من میدونم livewire یک ابزار کار برای فرانته و نباید بصورت ماژول در بیاد و نصبش باید در روت اصلی باشه.
با این حال اگر اصرار به این کار دارید، یک ماژول خالی دیگه بسازید و بصورت دستی فایلها و فولدرها رو در اون قرار بدید.

شاید پاسخ شما همین‌جا باشد

شهریار
شهریار
@shahriyar003

تخصص: برنامه نویس

فرض کن من همین ماژول category و ساختم و ساخته شد هیچ مشکلی نیست. میدونی که هر ماژول فایل های resource خودش و دارم مشکلم اینجاست که وقتی میخوام یک کامپوننت جدید برای livewire بسازم توی resource اصلی برنامه ساخته میشه نه توی فولدر ماژول
میخوام توی ماژول کامپوننت بسازم.

electera
electera
@electera

اتفاقاً همین الان دارم با کامپوننت ها کار میکنم.
بله درسته و هر ماژول فایل های resource خودشو داره اما فلسفه کامپوننت ها اینه که کد تکراری نزنین. پس باید همه ماژولها به کامپوننت های مشترک دسترسی داشته باشند.
من کامپوننت ها رو در روت اصلی ایجاد کردم تا همه ماژولها بتونن ازش استفاده کنند.
در کل اگر کد زیر رو هم بزنید، ایجاد کامپوننت تو دستورات نیست و من تو چند سمپلهای اصلی هم ندیدم همچین موردی رو.

php artisan module:help
شهریار
شهریار
@shahriyar003

تخصص: برنامه نویس

این لینک و ببین لطفا,
لایو وایر به ازای هر فایل view یک فایل بک اند هم ایجاد میکنه . شما فرض کن کامپوننت هایی که ایجاد میشن کار مشترکی قرار نیست انجام بدن و به ازای هر rout اتفاق متفاوتی قرار هست بیوفته. چطور میشه به تفکیک برای هر ماژول کامپوننت اختصاصی خودشو ایجاد کرد؟

حمید
حمید
@hmp1368

تخصص: توسعه دهنده

سلام وقتتون بخیر میتونید از پکیج زیر استفاده کنید:
https://github.com/mhmiton/laravel-modules-livewire

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام