توضیحات

با گسترش وب اپلیکیشن‌های مدرن، وجود ابزارهایی به منظور هر چه ساده‌تر کردن فرآیند ساخت آن‌ها، بشدت نیاز می‌شود. ابزارهایی مانند vue یا react، در این زمینه بسیار قدرتمند هستند، اما پیچیدگی‌ استفاده از آن‌ها برای یک توسعه دهنده‌ی فول استک، غیرقابل اجتناب است.

Livewire یک فریم‌ ورک فول استک برای لاراول است که میتونید صفحات وب سایت خود را داینامیک کنید و در کنارش راحتی لاراول را داشته باشید.دوستان آموزش رایگان لاراول در وب سایت قرار گرفته، برای مشاهده اینجا را کلیک کنید.

livewire به شما کمک ‌می‌کند بدون آن که خودتان را درگیر api نویسی برای ارتباط برقرار کردن با کتابخانه‌های جاوا اسکریپتی مثل vue یا react کنید بتوانید به سادگی صفحات وب سایت را بدون نیاز به api نویسی داینامیک کنید.

livewire یک فریمورک fullstack مربوط به laravel است. fullstack به این معنی که هم بخش frontend را پوشش می‌دهد و هم backend . این دو بخش به شکل یک پارچه‌ای در livewire عمل می‌کنند.

برای مثال شما در بخش frontend می‌خواهید مشخص کنید با کلیک کردن بر روی یک المنت در سمت سرور چیزی ذخیره سازی شود.

با استفاده از vue و react شما نیاز دارید که به api لاراول برای انجام اینکار درخواست ارسال کنید اما در livewire این کار به سادگی اضافه کردن یک متد است.

برای آشنایی از مباحث و پروژه های این دوره حتما ویدیو معرفی دوره را مشاهده کنید. این دوره براساس ورژن 2 لایووایر هست.

پیشنیاز این دوره :

 

 


laravel لاراول livewire لایو وایر

مدرس دوره علی شیخ
مدت دوره 12:00:31
تعداد ویدیو 66

وضعیت دوره : کامل شده
قیمت دوره : 349,000 279,000 تومان
% 20 تخفیف

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • سلام وقت بخیر
    به نظر شما بین livewire و vuejs کدومش بهتره؟
    و اینکه اگه livewire رو یاد بگیریم دیگه نیازی به یادگیری vuejs نیست؟
    چون به نظر میاد کاربردشون یکیه

    • سلام وقت بخیر.
      این دوتا، دو موضوع جدا هستند. ویدیو های بخش اول دوره لایووایر و vue را برای آشنایی بیشتر میتونید مشاهده کنید.
      شما در ابتدا باید کمی با چیزاهای که میخواهید مقایسه کنید آشنا بشید، تا بتونید مقایسه کنید.

  • سلام استاد/ ممنون بابت آموزش خوبتون
    من یک پروژه درست کردم که چند کاربری هست و برای ویرایش از model استفاده کردم
    wire:click="$emitTo('user.ps.delete' , 'showDeleteForm' , {{ $p->id }})"
    اینجا چطور میتونم از checksum برای آی دی استفاده کنم که هر کاربری با دستکاری کردن نتونه پست های دیگران رو ویرایش کنه

    • سلام وقت بخیر.
      شما درخواست را میفرستید سمت سرور و سمت سرور چک میکنید، کاربری که لاگین هست اجازه و یا دسترسی تغییر داره یا خیر. مثله یک پروژه معمولی در لاراول

    • ممنون از پاسخگویی سریعی که دارید.

      در پروژه ها برای اینکه ویرایش ها و حذف از طریق ID صورت میگیره میایم در لاراول ID رو با '''URL::signedRoute('editUser', ['id' => $u->id]);''' هش می کنیم که غیر قابل دستکاری از سمت دیگر کاربران و مرورگر باشه و در قسمت ROUTE اون رو چک می کردیم

      در پروژه های لایووایر وقتی میخوایم ویرایشی انجام بدیم ID رو از طریق emitTo میفرستیم

      کاربر اگر بخواد پست دیگر کاربران رو عوض یا حذف کنه خیلی راحت میتونه با ویرایش مرورگر کد رو دستی تغییر بده
      '''wire:click="$emitTo('user.ps.edit' , 'showEditForm' , 60)" '''
      (اینجا اگر کسی عدد 60 رو تغییر بده دستور اجرا میشه)

      در روش اول با URL صفحه رو انتقال میدادیم ولی در لایووایر با باز شدن مدال صفحه ای تغییر نمی کنه که بخوایم از signedRoute استفاده کنیم

      آیا لایووایر چیزی داره که اینجا ID رو هش کنیم و در Component بررسی کنه


      البته این کارو هم در Component انجام دادم که قبل از ویرایش بررسی کنه USER_ID رکورد با '''AUTH:USER->ID''' مطابقت داره یا نه

    • خب ببینید، شما که نباید اصلا دکمه ویرایش و یا حذف را به کاربری که پست مال اون نیست نمایش بدید. شما این موارد را برای کاربری که لاگین هست و پست ماله اون هست باید نمایش بدید. یا اصلا نمایش هم که میدهید کل اون درخواست میره برا سرور، اونجا چک میکنید چه کسی لاگین هست و این پستی که قرار تغییر کنه مال اون هست یا نه، یه زمانی شما گروهی از نویسنده دارید و همه اونا میتونند یک پست را ویرایش کنند.

    • سلام وقت بخیر.
      ببینید لایووایر یک فریمورک لاراول هست و توی پروژه لاراولی میتونید ازش استفاده کنید.پس شما هر کجا که پروژه لاراولی داشته باشید میتوتید از لایووایر استفاده کنید.

  • استاد عزیز سلام من به یه مشکلی بر خوردم که دیگه ادامه دادن آموزش فایده ای نداره .. نمیدونم چرا فرمان های مربوط به اکشن ها و دیتا بایندینگ اصلا کار نمیکنه..
    مثل wire : model wire : click و کلا بقیه دستور مربوط بهش ...
    از اینکه لایو وایر درست فراخونی شده و پیش نیازاش رعایت شده مطمئنم ..
    lay out هم اوکیه ..خود لایو وایر رانه چون پراپس ها و کامپوننت ها رو نمایش میده و بر میگردونه ... پلاگین هاییم که مروبط به لایو وایره واسه نرم افزار میزبان نصب کردم .. هم رو php storm هم vs پروژه رو تست کردم ....

    واقعا نمیشه آموزشو ادامه داد تا این مشکلم بر طرف شه

    • سلام وقت بخیر.
      اگه مراحل را درست رفته باشید نباید مشکلی داشته باشید، با فایل تمرینی دوره تست کنید، چندین بار پروژه جدید ایجاد کنید، ورژن ها را چک کنید،دایرکتیو livewireScripts@ چک کنید و ...

  • استاد وقتتون بخیر .. من بطور خیلی ناگهانی تمام روت هام توسط لاراول پیدا نمیشه و همرو ارور 404 میده ... کامپوننت ها رو به همون صورت فول پیج که گفتید روت کردم .. درست کار میکرد امروز صبح پروژه رو باز کردم دیدم هیچ کدوم از روتام باز نمیشه ... روت کش و روت کلیر هم تست کردم جواب نداد

    • سلام وقت بخیر.
      نباید مشکلی باشه
      دستور php artisan optimize:clear هم تست کنید.
      دستور composer dump-autoload و یا composer update هم تست کنید.

  • سلام خسته نباشید
    دوره خوبی بنظر میاد فقط اینکه مطالب رو مثل دوره بوت استرپ از روی کد های آماده که توضیح نمیدین؟؟
    و اینکه اگر امکانش هست تخفیف پنجاه درصد بذارید تا دوره رو تهیه کنیم
    با تشکر

    • سلام وقت بخیر.
      خیر نحوه توضیح متفاوت از دوره بوت استرپ هست.
      تخفیف هم فقط همین تخفیفی که الان داره هست.

  • سلام وقت بخیر ، یک سوالی داشتم راجب امنیت لایووایر. ما در لاراول هنگامی که با فرم یا با جاواسکریپت از طریق اجاکس اطلاعات را می فرستیم از csrf token استفاده میکنیم که برای جلوگیری از حملات csrf میباشد. ولی لایووایر رو نمیدونم یعنی پشت پرده این کارو انجام میده یا کلا انجام نمیده . یعنی ارزش داره تو سیستم های بزرگ و تجاری از لایوایر استفاده کرد یعنی مشکلی از امنیت نیست.

    • سلام وقت بخیر.
      خیر مشکلی نداره،اون csrf هم که فرمودید.توی لایووایر مقدار checksum بین سرور و کلاینت ارسال میشه که کار csrf توی لاراول را انجام میده

  • سلام استاد
    استاد اینجا من هرچیکار میکنم $product->stock رو توی value نشون نمیده

                                            <input class="form-control"  type="text" name="stock" value="{{ $product->stock }}" wire:model="stock">
    

    ``` public function render()
    {
    $products = Product::all();
    return view('livewire.product.change-price', compact('products'));
    }```

    wire:model="stock" رو هم برای گرفتن دیتا جدید سمت سرور نوشتم

    • سلام وقت بخیر.
      شما اصلا نیازی ندارید value مربوط به input را مقدار دهی کنید، با model سمت سرور دریافت میکنین دیگه

    • استاد مثلا میخام مقدار قبلی رو نشون بده مثلا تغیر بده بعدش سیو بشه
      عکس: https://s16.picofile.com/file/8429427650/2222.png

    • اهان منظورتون ویرایش هست.خب از همون model استفاده کنید، model را مقدار دهی کنید حالا هر مقداری که از دیتابیس میخونید، اونجا توی input مقدار قرار میگیره، توی پروژه تسک هم بهش اشاره میکنیم توی بخش ویرایش تسک

  • سلام وقت بخیر
    یعنی اگه بخواییم یه پروژه رو با livewire پیاده سازی کنیم ، باید فرانتش رو از صفر خودمون درست کنیم و وصلش بدیم به livewire ؟ یا میشه قالب های آماده رو وصل بدیم به livewire مثلا همون قالبی که توی دوره فروشگاهی استفاده کردیم.
    یعنی می تونیم تو هر قالبی از livewire استفاده کنیم یا لازم هست قالب از ابتدا با livewire پیاده سازی شده باشه؟

    • سلام وقت بخیر.
      ببینید قالب شامل html و css هست فقط.شما از هر قالبی میتونید استفاده کنید.livewire برای استایل نیست بلکه برای داینامیک کردن وب سایت هست.لطف کنید ویدیو معرفی و جلسه اول را ببینید