Livewire v3 Laravel Framework এ নতুন কি আছে?

Livewire v3 Laravel Framework এ নতুন কি আছে?

লারাভেল লাইভওয়্যার সরাসরি জাভাস্ক্রিপ্ট কোড না লিখে একটি ওয়েব পৃষ্ঠায় গতিশীল আচরণ অর্জন করার একটি দুর্দান্ত সরঞ্জাম। এটি লারাভেলের আরাম ছাড়াই গতিশীল ইন্টারফেস তৈরি করা সহজ করে তোলে। সম্প্রতি, Livewire কোর সম্পূর্ণরূপে পুনর্লিখন করা হয়েছে.





কিভাবে ইউটিউবে কাউকে মেসেজ পাঠাবেন

নতুন Livewire v3-এ আরও ভালো পার্থক্য রয়েছে, বৈশিষ্ট্যগুলি দ্রুত তৈরি করা যেতে পারে এবং লাইভওয়্যার এবং আলপাইনের মধ্যে কম সদৃশতা রয়েছে কারণ এটি আলপাইনের উপর বেশি নির্ভর করে এবং এর মরফ, ইতিহাস এবং অন্যান্য প্লাগইন ব্যবহার করে। কোডবেস পুনর্গঠন এবং আলপাইনকে আরও বেশি জোর দেওয়ার মাধ্যমে বেশ কয়েকটি নতুন বৈশিষ্ট্যও সম্ভব হয়েছে।





দিনের মেকইউজের ভিডিও

1. লাইভওয়্যার স্ক্রিপ্ট, শৈলী, এবং আলপাইন স্বয়ংক্রিয়ভাবে ইনজেক্ট করুন

কম্পোজার Livewire v2 ইনস্টল করার পরে, আপনাকে অবশ্যই আপনার লেআউটে @livewireStyles, @livewireScripts এবং Alpine যোগ করতে হবে। Livewire v3 এর সাথে, আপনাকে শুধু Livewire ইন্সটল করতে হবে এবং আপনার যা কিছু প্রয়োজন তা স্বয়ংক্রিয়ভাবে ইনজেকশন হয়ে যাবে - Alpine সহ!





<!DOCTYPE html> 
<html lang="en">
<head>
<script src="//unpkg.com/alpinejs" defer></script>
@livewireStyles @livewireScripts
</head>
<body>
...
</body>
</html>

2. পিএইচপি ক্লাসে জাভাস্ক্রিপ্ট ফাংশন

Livewire v3 সরাসরি আপনার ব্যাকএন্ড Livewire উপাদানে জাভাস্ক্রিপ্ট ফাংশন লেখা সমর্থন করবে। আপনার কম্পোনেন্টে একটি ফাংশন যোগ করুন, ফাংশনের উপরে একটি /\*_ @js _/ মন্তব্য যোগ করুন, তারপর PHP-এর HEREDOC সিনট্যাক্স ব্যবহার করে কিছু JavaScript কোড ফেরত দিন এবং আপনার ফ্রন্টএন্ড থেকে কল করুন। জাভাস্ক্রিপ্ট কোড আপনার ব্যাকএন্ডে কোনো অনুরোধ না পাঠিয়েই কার্যকর করা হবে।

<?php 
namespace App\Http\Livewire;
class Todos extends \Livewire\Component
{
/** @prop */
public $todos;
/** @js */
public function clear()
{
return <<<'JS'
this.todo = '';
JS;
}
}
?>
<div>
<input wire:model="todo" />
<button wire:click="clear">Clear</button>
</div>

3. লক করা বৈশিষ্ট্য

Livewire v3 লক করা বৈশিষ্ট্য সমর্থন করবে - বৈশিষ্ট্য যা ফ্রন্টএন্ড থেকে আপডেট করা যাবে না। আপনার কম্পোনেন্টে একটি সম্পত্তির উপরে একটি /\*\* @locked/ মন্তব্য যোগ করুন, এবং কেউ যদি ফ্রন্টএন্ড থেকে সেই সম্পত্তি আপডেট করার চেষ্টা করে তাহলে Livewire একটি ব্যতিক্রম ছুড়ে দেবে।



<?php 
namespace App\Http\Livewire;
class Todos extends \Livewire\Component
{
/** @locked */
public $todos = [];
}
?>

4. ওয়্যার: মডেল ডিফল্টভাবে স্থগিত করা হয়

লাইভওয়্যার এবং এর ব্যবহার যেমন বিকশিত হয়েছে, আমরা বুঝতে পেরেছি যে 'বিলম্বিত' আচরণ 95% ফর্মের জন্য আরও অর্থপূর্ণ, তাই v3 তে 'বিলম্বিত' কার্যকারিতা ডিফল্ট হবে। এটি আপনার সার্ভারে যাওয়া অপ্রয়োজনীয় অনুরোধগুলি সংরক্ষণ করবে এবং কর্মক্ষমতা উন্নত করবে। যখন আপনার একটি ইনপুটে 'লাইভ' কার্যকারিতার প্রয়োজন হয়, আপনি সেই কার্যকারিতা সক্ষম করতে wire:model.live ব্যবহার করতে পারেন৷