کانال آموزشی لاراول
Photo
🌐 EditorConfig در Laravel
یک ابزار standardizing برای تنظیم سبک کدنویسی در سطح پروژه است. این ابزار توسط توسعهدهندگانی که با ادیتورها و محیطهای توسعه مختلف کار میکنند، مورد استفاده قرار میگیرد. در فریمورک Laravel، استفاده از EditorConfig به حفظ یکپارچگی سبک کدنویسی در تیم کمک میکند.
🔧 تنظیمات EditorConfig: برای استفاده از EditorConfig در پروژههای Laravel، یک فایل تنظیمات به نام editorconfig. در ریشه پروژه ایجاد میشود. این فایل شامل تنظیماتی است که تعریف میکند چگونه ادیتورهای مختلف باید با فایلهای کد برخورد کنند. مواردی مانند فاصلههای تورفتگی، نوع پایان خط، و فضای خالی در انتهای خط تعریف میشوند.
👨💻 نمونه تنظیمات:
- در این نمونه، تنظیمات برای انواع فایلها اعمال میشود. به عنوان مثال، برای فایلهای Blade خاص در Laravel، میتوان تورفتگی را متفاوت تنظیم کرد.
📚 یادگیری و استفاده: برای استفاده از EditorConfig در Laravel، مهم است که با سینتکس و امکانات آن آشنا شوید. مستندات رسمی EditorConfig و منابع آموزشی Laravel میتوانند راهنمای خوبی در این زمینه باشند.
💡مزایا:
- سازگاری سبک کد: کمک به حفظ یکپارچگی و یکنواختی سبک کدنویسی در بین تمامی توسعهدهندگان تیم.
- پشتیبانی گسترده: بسیاری از ادیتورهای محبوب و محیطهای توسعه (IDE) از EditorConfig پشتیبانی میکنند.
- انعطافپذیری: امکان تعریف تنظیمات مختلف برای انواع فایلهای مختلف در پروژه.
🌟 نکته نهایی:
استفاده از EditorConfig در پروژههای Laravel به خصوص در تیمهای بزرگ که از ادیتورها و سبکهای کدنویسی متفاوت استفاده میکنند، بسیار مفید است. این ابزار به توسعهدهندگان کمک میکند تا بر روی منطق و ویژگیهای برنامه تمرکز کنند، نه تفاوتهای سبک کدنویسی.
📌 P.S:
✨ "ابزار Standardizing Tool" در برنامهنویسی:
در زمینه توسعه نرمافزار، ابزارهای standardizing tool به ابزارهایی گفته میشود که برای ایجاد و حفظ استانداردهای یکنواخت در کدنویسی به کار گرفته میشوند. این ابزارها به تیمهای توسعه کمک میکنند تا کدی نوشته شود که نه تنها در سطح فنی قابل فهم و خوانا باشد، بلکه از نظر سبک و فرمت نیز یکنواخت و مطابق با استانداردهای تعیینشده باشد.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
یک ابزار standardizing برای تنظیم سبک کدنویسی در سطح پروژه است. این ابزار توسط توسعهدهندگانی که با ادیتورها و محیطهای توسعه مختلف کار میکنند، مورد استفاده قرار میگیرد. در فریمورک Laravel، استفاده از EditorConfig به حفظ یکپارچگی سبک کدنویسی در تیم کمک میکند.
🔧 تنظیمات EditorConfig: برای استفاده از EditorConfig در پروژههای Laravel، یک فایل تنظیمات به نام editorconfig. در ریشه پروژه ایجاد میشود. این فایل شامل تنظیماتی است که تعریف میکند چگونه ادیتورهای مختلف باید با فایلهای کد برخورد کنند. مواردی مانند فاصلههای تورفتگی، نوع پایان خط، و فضای خالی در انتهای خط تعریف میشوند.
👨💻 نمونه تنظیمات:
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.blade.php]
indent_size = 2
- در این نمونه، تنظیمات برای انواع فایلها اعمال میشود. به عنوان مثال، برای فایلهای Blade خاص در Laravel، میتوان تورفتگی را متفاوت تنظیم کرد.
📚 یادگیری و استفاده: برای استفاده از EditorConfig در Laravel، مهم است که با سینتکس و امکانات آن آشنا شوید. مستندات رسمی EditorConfig و منابع آموزشی Laravel میتوانند راهنمای خوبی در این زمینه باشند.
💡مزایا:
- سازگاری سبک کد: کمک به حفظ یکپارچگی و یکنواختی سبک کدنویسی در بین تمامی توسعهدهندگان تیم.
- پشتیبانی گسترده: بسیاری از ادیتورهای محبوب و محیطهای توسعه (IDE) از EditorConfig پشتیبانی میکنند.
- انعطافپذیری: امکان تعریف تنظیمات مختلف برای انواع فایلهای مختلف در پروژه.
🌟 نکته نهایی:
استفاده از EditorConfig در پروژههای Laravel به خصوص در تیمهای بزرگ که از ادیتورها و سبکهای کدنویسی متفاوت استفاده میکنند، بسیار مفید است. این ابزار به توسعهدهندگان کمک میکند تا بر روی منطق و ویژگیهای برنامه تمرکز کنند، نه تفاوتهای سبک کدنویسی.
📌 P.S:
✨ "ابزار Standardizing Tool" در برنامهنویسی:
در زمینه توسعه نرمافزار، ابزارهای standardizing tool به ابزارهایی گفته میشود که برای ایجاد و حفظ استانداردهای یکنواخت در کدنویسی به کار گرفته میشوند. این ابزارها به تیمهای توسعه کمک میکنند تا کدی نوشته شود که نه تنها در سطح فنی قابل فهم و خوانا باشد، بلکه از نظر سبک و فرمت نیز یکنواخت و مطابق با استانداردهای تعیینشده باشد.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍7
🔥 معرفی Blackbox AI، دستیار هوش مصنوعی در دنیای کدنویسی!
✨ تصور کنید که یک همکار هوشمند در کنارتان باشد که به سوالات برنامهنویسی شما پاسخ دهد، کد را خودکار تکمیل کند و پیشنهادات بهموقع برای رفع اشکال ارائه دهد!
😎 حالا وقت آن رسیده که تجربه برنامهنویسی خود را با Blackbox AI ارتقا دهید!
🔗 برای کاوش عمیقتر و گرفتن اطلاعات جامعتر، سری به کانال دوم ما بزنید. 😊
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
✨ تصور کنید که یک همکار هوشمند در کنارتان باشد که به سوالات برنامهنویسی شما پاسخ دهد، کد را خودکار تکمیل کند و پیشنهادات بهموقع برای رفع اشکال ارائه دهد!
😎 حالا وقت آن رسیده که تجربه برنامهنویسی خود را با Blackbox AI ارتقا دهید!
🔗 برای کاوش عمیقتر و گرفتن اطلاعات جامعتر، سری به کانال دوم ما بزنید. 😊
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍3🔥2❤1
چالش داریم امروز از نوع لایووایر 😎
در Livewire، هنگامی که میخواهید دادههای مدل را به صورت داینامیک بارگذاری کنید، کدام روش برای بهروزرسانی دادههای مدل در کامپوننت، بدون نیاز به ریفرش کامل صفحه بهترین است ؟
در Livewire، هنگامی که میخواهید دادههای مدل را به صورت داینامیک بارگذاری کنید، کدام روش برای بهروزرسانی دادههای مدل در کامپوننت، بدون نیاز به ریفرش کامل صفحه بهترین است ؟
Anonymous Quiz
64%
استفاده از wire:model برای بایند کردن دادههای مدل به المنتهای HTML.
29%
استفاده از public $model در کامپوننت و بهروزرسانی آن با استفاده از mount یا hydrate متدها.
7%
اجرای کوئری مستقیم در دیتابیس با استفاده از Eloquent در هر بار رندر شدن کامپوننت.
👍11👎3🔥1
کانال آموزشی لاراول
چالش داریم امروز از نوع لایووایر 😎
در Livewire، هنگامی که میخواهید دادههای مدل را به صورت داینامیک بارگذاری کنید، کدام روش برای بهروزرسانی دادههای مدل در کامپوننت، بدون نیاز به ریفرش کامل صفحه بهترین است ؟
در Livewire، هنگامی که میخواهید دادههای مدل را به صورت داینامیک بارگذاری کنید، کدام روش برای بهروزرسانی دادههای مدل در کامپوننت، بدون نیاز به ریفرش کامل صفحه بهترین است ؟
🔍 بررسی روشهای بهروزرسانی دادههای مدل در Livewire
در Livewire، چندین روش برای مدیریت و بهروزرسانی دادههای مدل وجود دارد. بیایید به هر یک از گزینههای مطرح شده در سوال نگاهی بیاندازیم:
1️⃣ استفاده از
🔸این روش عمدتا برای بایند کردن دو طرفه دادههای ورودی به متغیرهای کامپوننت استفاده میشود. مناسب برای فرمها و ورودیهای کاربری، اما برای بارگذاری دادههای مدل به صورت داینامیک از پایگاه داده کاربردی نیست.
2️⃣ استفاده از
🔸این روش ایدهآل برای بارگذاری و بهروزرسانی دادههای مدل است. با استفاده از متغیرهای عمومی و بهروزرسانی آنها در متدهای
3️⃣ اجرای کوئری مستقیم در دیتابیس:
🔸این روش شامل اجرای کوئریهای Eloquent در هر بار رندر کامپوننت است. اگرچه ممکن است در مواردی مفید باشد، اما اغلب بهینه نیست و میتواند عملکرد برنامه را کاهش دهد، زیرا هر بار رندر صفحه، کوئری مجدداً اجرا میشود.
✅ نتیجهگیری:
گزینه دوم، یعنی استفاده از
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
در Livewire، چندین روش برای مدیریت و بهروزرسانی دادههای مدل وجود دارد. بیایید به هر یک از گزینههای مطرح شده در سوال نگاهی بیاندازیم:
1️⃣ استفاده از
wire:model برای بایند کردن دادههای مدل به المنتهای HTML:🔸این روش عمدتا برای بایند کردن دو طرفه دادههای ورودی به متغیرهای کامپوننت استفاده میشود. مناسب برای فرمها و ورودیهای کاربری، اما برای بارگذاری دادههای مدل به صورت داینامیک از پایگاه داده کاربردی نیست.
2️⃣ استفاده از
public $model و بهروزرسانی آن با mount یا hydrate:🔸این روش ایدهآل برای بارگذاری و بهروزرسانی دادههای مدل است. با استفاده از متغیرهای عمومی و بهروزرسانی آنها در متدهای
mount یا hydrate، دادههای مدل به صورت داینامیک و بدون نیاز به ریفرش کامل صفحه بهروز میشوند.3️⃣ اجرای کوئری مستقیم در دیتابیس:
🔸این روش شامل اجرای کوئریهای Eloquent در هر بار رندر کامپوننت است. اگرچه ممکن است در مواردی مفید باشد، اما اغلب بهینه نیست و میتواند عملکرد برنامه را کاهش دهد، زیرا هر بار رندر صفحه، کوئری مجدداً اجرا میشود.
✅ نتیجهگیری:
گزینه دوم، یعنی استفاده از
public $model و بهروزرسانی آن با mount یا hydrate، روشی کارآمد و مناسب برای مدیریت دادههای مدل در Livewire است. این روش انعطافپذیری و کارایی بالایی در مدیریت دادههای داینامیک فراهم میکند.✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍7❤1
کانال آموزشی لاراول
Photo
🚀 راهنمای کامل کار با دادههای JSON در لاراول با استفاده از Eloquent و ستونهای JSON
در برنامههای وب مدرن، دادهها اغلب به صورت JSON (JavaScript Object Notation) هستند و لاراول پشتیبانی فوقالعادهای برای کار با دادههای JSON فراهم میکند.
🔢 ستونهای JSON در لاراول
ستونهای JSON در پایگاه داده به شما امکان ذخیره دادههای ساختاریافته به فرمت JSON را میدهند. لاراول از ستونهای JSON در سیستمهای پایگاه داده مختلفی مانند MySQL، PostgreSQL، و SQLite پشتیبانی میکند. این ستونها بسیار انعطافپذیر هستند زیرا میتوانند انواع مختلفی از دادهها مانند رشتهها، اعداد، آرایهها و حتی اشیاء JSON تودرتو را ذخیره کنند.
✨ افزودن ستونهای JSON
برای افزودن یک ستون JSON به جدول پایگاه داده، میتوانید از سیستم migration لاراول استفاده کنید. در اینجا نمونهای از ایجاد یک ستون JSON با نام “metadata” در جدول “posts” آورده شده است:
🔍 ذخیرهسازی دادههای JSON
🔸درج دادههای JSON
پس از ایجاد یک ستون JSON، میتوانید دادههای JSON را در آن درج کنید. لاراول کار با دادههای JSON را با استفاده از مدلهای Eloquent آسان میکند. در اینجا نحوه درج دادههای JSON در ستون “metadata” آورده شده است:
🔹بهروزرسانی دادههای JSON
همچنین میتوانید دادههای JSON موجود در یک ستون JSON را بهروزرسانی کنید. برای مثال، اگر میخواهید “برچسبها” (tags) در ستون “metadata” را بهروز کنید:
📊 بازیابی دادههای JSON
برای مثال، اگر میخواهید تمام پستهایی که ستون JSON “metadata” آنها شامل برچسب “laravel” است را پیدا کنید، میتوانید از متد whereJsonContains استفاده کنید:
🔹دسترسی به ویژگیهای JSON
میتوانید به ویژگیهای JSON مانند ویژگیهای معمولی شی دسترسی پیدا کنید. برای مثال، برای بازیابی “نویسنده” (author) از ستون JSON “metadata”:
🔧 تغییر دادههای JSON
- بهروزرسانی ویژگیهای JSON
بهروزرسانی ویژگیهای JSON ساده است. فرض کنید میخواهید نام نویسنده را در ستون JSON “metadata” تغییر دهید:
🗑 حذف ویژگیهای JSON
همچنین میتوانید ویژگیهای JSON را با استفاده از متد forget حذف کنید. برای حذف ویژگی "برچسبها" (tags) از ستون JSON “metadata”:
⚙️ نتیجهگیری
کار با دادههای JSON در لاراول، چه ذخیرهسازی، بازیابی، بهروزرسانی یا حذف، به لطف پشتیبانی لاراول از ستونهای JSON و قدرت Eloquent، بسیار آسان شده است. ستونهای JSON انعطافپذیری و تنوع را فراهم میکنند، به شما امکان میدهند تا با دادههای ساختاریافته به شیوهای که با نیازهای برنامه شما مطابقت دارد کار کنید. با اینها، میتوانید به راحتی با دادههای JSON در پروژههای لاراولی خود کار کنید، که برنامههای وب شما را هرچه قویتر و پویاتر میکند.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
در برنامههای وب مدرن، دادهها اغلب به صورت JSON (JavaScript Object Notation) هستند و لاراول پشتیبانی فوقالعادهای برای کار با دادههای JSON فراهم میکند.
🔢 ستونهای JSON در لاراول
ستونهای JSON در پایگاه داده به شما امکان ذخیره دادههای ساختاریافته به فرمت JSON را میدهند. لاراول از ستونهای JSON در سیستمهای پایگاه داده مختلفی مانند MySQL، PostgreSQL، و SQLite پشتیبانی میکند. این ستونها بسیار انعطافپذیر هستند زیرا میتوانند انواع مختلفی از دادهها مانند رشتهها، اعداد، آرایهها و حتی اشیاء JSON تودرتو را ذخیره کنند.
✨ افزودن ستونهای JSON
برای افزودن یک ستون JSON به جدول پایگاه داده، میتوانید از سیستم migration لاراول استفاده کنید. در اینجا نمونهای از ایجاد یک ستون JSON با نام “metadata” در جدول “posts” آورده شده است:
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->json('metadata')->nullable();
});
}
🔍 ذخیرهسازی دادههای JSON
🔸درج دادههای JSON
پس از ایجاد یک ستون JSON، میتوانید دادههای JSON را در آن درج کنید. لاراول کار با دادههای JSON را با استفاده از مدلهای Eloquent آسان میکند. در اینجا نحوه درج دادههای JSON در ستون “metadata” آورده شده است:
$post = new Post;
$post->title = 'Sample Post Title';
$post->metadata = ['author' => 'Prevail E.', 'tags' => ['laravel', 'json']];
$post->save();
🔹بهروزرسانی دادههای JSON
همچنین میتوانید دادههای JSON موجود در یک ستون JSON را بهروزرسانی کنید. برای مثال، اگر میخواهید “برچسبها” (tags) در ستون “metadata” را بهروز کنید:
$post = Post::find(1);
$metadata = $post->metadata;
$metadata['tags'][] = 'eloquent';
$post->metadata = $metadata;
$post->save();
📊 بازیابی دادههای JSON
برای مثال، اگر میخواهید تمام پستهایی که ستون JSON “metadata” آنها شامل برچسب “laravel” است را پیدا کنید، میتوانید از متد whereJsonContains استفاده کنید:
$laravelPosts = Post::whereJsonContains('metadata->tags', 'laravel')->get();🔹دسترسی به ویژگیهای JSON
میتوانید به ویژگیهای JSON مانند ویژگیهای معمولی شی دسترسی پیدا کنید. برای مثال، برای بازیابی “نویسنده” (author) از ستون JSON “metadata”:
$post = Post::find(1);
$author = $post->metadata['author'];
🔧 تغییر دادههای JSON
- بهروزرسانی ویژگیهای JSON
بهروزرسانی ویژگیهای JSON ساده است. فرض کنید میخواهید نام نویسنده را در ستون JSON “metadata” تغییر دهید:
$post = Post::find(1);
$post->metadata['author'] = 'Edited Prevail E.';
$post->save();
🗑 حذف ویژگیهای JSON
همچنین میتوانید ویژگیهای JSON را با استفاده از متد forget حذف کنید. برای حذف ویژگی "برچسبها" (tags) از ستون JSON “metadata”:
$post = Post::find(1);
$post->metadata->forget('tags');
$post->save();
⚙️ نتیجهگیری
کار با دادههای JSON در لاراول، چه ذخیرهسازی، بازیابی، بهروزرسانی یا حذف، به لطف پشتیبانی لاراول از ستونهای JSON و قدرت Eloquent، بسیار آسان شده است. ستونهای JSON انعطافپذیری و تنوع را فراهم میکنند، به شما امکان میدهند تا با دادههای ساختاریافته به شیوهای که با نیازهای برنامه شما مطابقت دارد کار کنید. با اینها، میتوانید به راحتی با دادههای JSON در پروژههای لاراولی خود کار کنید، که برنامههای وب شما را هرچه قویتر و پویاتر میکند.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍6❤4
کانال آموزشی لاراول
Photo
⏳ تعریف Memory Leak چیست؟
🔸(نشت حافظه) Memory Leak در دنیای برنامهنویسی به وضعیتی اطلاق میشود که در آن یک برنامه کامپیوتری به صورت ناکارآمد حافظه را اشغال میکند و آن را آزاد نمیکند، حتی زمانی که دیگر به آن نیاز نیست. این امر میتواند منجر به کاهش عملکرد سیستم و در نهایت از کار افتادن برنامه یا سیستم عامل شود. در واقع، Memory Leak هنگامی رخ میدهد که حافظهای که برای نگهداری دادهها یا اشیاء در نظر گرفته شده، به درستی پس از اتمام کاربردشان، رهاسازی نشود.
🧐چگونه Memory Leak در لاراول رخ میدهد؟
در محیط برنامهنویسی لاراول، Memory Leak میتواند به دلایل مختلفی رخ دهد. این موارد عبارتند از:
🔹نگهداری بیش از حد اشیاء در حافظه:
این اتفاق زمانی میافتد که اشیاء ایجاد شده در حافظه به درستی حذف یا آزاد نشوند.
🔹مدیریت ناکارآمد ارتباطات پایگاه داده:
ایجاد ارتباطات زیاد با پایگاه داده و عدم بستن این ارتباطات پس از استفاده.
🔹مشکلات در Middleware و Event Listener ها:
این مولفهها اگر به درستی مدیریت نشوند، میتوانند باعث اشغال حافظه شوند.
🔹استفاده نادرست از Dependency Injection و Service Container:
ایجاد اشیاء بزرگ و پیچیده بدون نیاز طولانی مدت.
🔹کشهای بیاندازه بزرگ: استفاده از کشهایی که به درستی مدیریت نمیشوند.
✨راههای شناسایی Memory Leak در لاراول
برای شناسایی و رفع Memory Leak در پروژههای لاراول، میتوانید از روشها و ابزارهای مختلفی استفاده کنید:
1️⃣ استفاده از ابزارهای تحلیل عملکرد:
ابزارهایی مانند Xdebug یا Blackfire.io برای تحلیل عملکرد کد مفید هستند.
2️⃣ مانیتورینگ و لاگگیری حافظه:
با استفاده از توابعی مانند ()memory_get_usage , میتوانید میزان حافظه مصرفی را در طول اجرای برنامه بررسی کنید.
3️⃣ استفاده از Unit Testing و Integration Testing:
این تستها به شما کمک میکنند تا مشکلات احتمالی مرتبط با حافظه را شناسایی کنید.
4️⃣ بررسی دقیق کد:
بررسی دستی کد برای یافتن الگوهایی که ممکن است باعث نشت حافظه شوند.
5️⃣ استفاده از ابزارهای مانیتورینگ سرور:
ابزارهایی مانند New Relic یا Laravel Pulse برای شناسایی الگوهای مصرف حافظه غیرعادی مفید هستند.
📣 توجه داشته باشید که شناسایی دقیق علت Memory Leak نیازمند بررسیهای دقیق و زمانبر است. ممکن است نیاز باشد که کد را قطعه به قطعه تجزیه و تحلیل کنید و بر اساس نتایج به دست آمده، اصلاحات لازم را اعمال نمایید.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
🔸(نشت حافظه) Memory Leak در دنیای برنامهنویسی به وضعیتی اطلاق میشود که در آن یک برنامه کامپیوتری به صورت ناکارآمد حافظه را اشغال میکند و آن را آزاد نمیکند، حتی زمانی که دیگر به آن نیاز نیست. این امر میتواند منجر به کاهش عملکرد سیستم و در نهایت از کار افتادن برنامه یا سیستم عامل شود. در واقع، Memory Leak هنگامی رخ میدهد که حافظهای که برای نگهداری دادهها یا اشیاء در نظر گرفته شده، به درستی پس از اتمام کاربردشان، رهاسازی نشود.
🧐چگونه Memory Leak در لاراول رخ میدهد؟
در محیط برنامهنویسی لاراول، Memory Leak میتواند به دلایل مختلفی رخ دهد. این موارد عبارتند از:
🔹نگهداری بیش از حد اشیاء در حافظه:
این اتفاق زمانی میافتد که اشیاء ایجاد شده در حافظه به درستی حذف یا آزاد نشوند.
🔹مدیریت ناکارآمد ارتباطات پایگاه داده:
ایجاد ارتباطات زیاد با پایگاه داده و عدم بستن این ارتباطات پس از استفاده.
🔹مشکلات در Middleware و Event Listener ها:
این مولفهها اگر به درستی مدیریت نشوند، میتوانند باعث اشغال حافظه شوند.
🔹استفاده نادرست از Dependency Injection و Service Container:
ایجاد اشیاء بزرگ و پیچیده بدون نیاز طولانی مدت.
🔹کشهای بیاندازه بزرگ: استفاده از کشهایی که به درستی مدیریت نمیشوند.
✨راههای شناسایی Memory Leak در لاراول
برای شناسایی و رفع Memory Leak در پروژههای لاراول، میتوانید از روشها و ابزارهای مختلفی استفاده کنید:
1️⃣ استفاده از ابزارهای تحلیل عملکرد:
ابزارهایی مانند Xdebug یا Blackfire.io برای تحلیل عملکرد کد مفید هستند.
2️⃣ مانیتورینگ و لاگگیری حافظه:
با استفاده از توابعی مانند ()memory_get_usage , میتوانید میزان حافظه مصرفی را در طول اجرای برنامه بررسی کنید.
3️⃣ استفاده از Unit Testing و Integration Testing:
این تستها به شما کمک میکنند تا مشکلات احتمالی مرتبط با حافظه را شناسایی کنید.
4️⃣ بررسی دقیق کد:
بررسی دستی کد برای یافتن الگوهایی که ممکن است باعث نشت حافظه شوند.
5️⃣ استفاده از ابزارهای مانیتورینگ سرور:
ابزارهایی مانند New Relic یا Laravel Pulse برای شناسایی الگوهای مصرف حافظه غیرعادی مفید هستند.
📣 توجه داشته باشید که شناسایی دقیق علت Memory Leak نیازمند بررسیهای دقیق و زمانبر است. ممکن است نیاز باشد که کد را قطعه به قطعه تجزیه و تحلیل کنید و بر اساس نتایج به دست آمده، اصلاحات لازم را اعمال نمایید.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍8🔥2🙏1
کانال آموزشی لاراول
Photo
✨ مفهوم Overlapping
در زمینه برنامه نویسی به موقعیتی اشاره دارد که دو یا چند فرآیند یا کار (Task) به صورت همزمان اجرا شوند و بر روی یک منبع یا داده خاص تداخل ایجاد کنند. این امر میتواند باعث بروز مشکلاتی مانند دادههای ناسازگار، خطاها و مشکلات عملکردی شود. در محیطهای وب و برنامههای تحت وب، جلوگیری از تداخل بسیار حائز اهمیت است تا اطمینان حاصل شود که هر درخواست به صورت مستقل و بدون ایجاد مشکل برای سایر درخواستها پردازش میشود.
🔹نگاهی به Laravel و جلوگیری از Overlapping
لاراول امکانات مختلفی را برای جلوگیری از تداخل فراهم میکند، به ویژه در زمینه Task Scheduling و Queue Handling.
1️⃣ مفهوم Task Scheduling:
اجازه میدهد تا وظایف (tasks) برنامهریزی شوند (مثلا اجرای یک کار خاص هر روز). برای جلوگیری از تداخل، Laravel امکان استفاده از متد
2️⃣ مفهوم Queue Handling: در مدیریت صف (Queue) نیز، Laravel راهحلهایی برای جلوگیری از تداخل ارائه میدهد. این شامل تکنیکهایی مانند تعیین اولویتهای صف، تعیین زمان انقضا برای وظایف و استفاده از سیستمهای پیشرفته صف مانند Redis است.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
در زمینه برنامه نویسی به موقعیتی اشاره دارد که دو یا چند فرآیند یا کار (Task) به صورت همزمان اجرا شوند و بر روی یک منبع یا داده خاص تداخل ایجاد کنند. این امر میتواند باعث بروز مشکلاتی مانند دادههای ناسازگار، خطاها و مشکلات عملکردی شود. در محیطهای وب و برنامههای تحت وب، جلوگیری از تداخل بسیار حائز اهمیت است تا اطمینان حاصل شود که هر درخواست به صورت مستقل و بدون ایجاد مشکل برای سایر درخواستها پردازش میشود.
🔹نگاهی به Laravel و جلوگیری از Overlapping
لاراول امکانات مختلفی را برای جلوگیری از تداخل فراهم میکند، به ویژه در زمینه Task Scheduling و Queue Handling.
1️⃣ مفهوم Task Scheduling:
اجازه میدهد تا وظایف (tasks) برنامهریزی شوند (مثلا اجرای یک کار خاص هر روز). برای جلوگیری از تداخل، Laravel امکان استفاده از متد
withoutOverlapping را در زمان برنامهریزی یک وظیفه فراهم میکند. این متد اطمینان حاصل میکند که اگر یک وظیفه هنوز در حال اجرا باشد، نسخه جدید آن وظیفه شروع به کار نکند.
$schedule->command('emails:send')->daily()->withoutOverlapping();
2️⃣ مفهوم Queue Handling: در مدیریت صف (Queue) نیز، Laravel راهحلهایی برای جلوگیری از تداخل ارائه میدهد. این شامل تکنیکهایی مانند تعیین اولویتهای صف، تعیین زمان انقضا برای وظایف و استفاده از سیستمهای پیشرفته صف مانند Redis است.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍5❤4
اگر هنوز نمیدونی Redis چیه و چه کاربردهایی داره، یه سر به کانال دوم ما "اتاق برنامه نویسی </>" حتما بزن، یه مطلب درباره این موضوع انتشار دادیم که به طور جامع به بررسی مفهوم و کاربردهای Redis پرداختهایم.
دمتون گرم از حماییتون و خیلی مخلصیم 🫶😊
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
دمتون گرم از حماییتون و خیلی مخلصیم 🫶😊
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍6❤3
کانال آموزشی لاراول
Photo
✨ How to handle Webhook in Laravel:
📌 اگر نمیدونی مفهوم وبهوک چیه، در کانال اتاق برنامه نویسی </> توضیح داده شده.
💻 برای رسیدگی به وبهوکها در لاراول، مراحل خاصی را باید دنبال کنید. لاراول امکانات زیادی برای تسهیل کار با وبهوکها فراهم میکند. در ادامه، مراحل اصلی برای مدیریت وبهوکها در لاراول را بررسی میکنیم:
1️⃣ ایجاد روت (Route):
- ابتدا یک روت در برنامهتان تعریف کنید که به عنوان نقطه پایانی وبهوک عمل کند. این روت باید قادر به دریافت درخواستهای HTTP POST باشد.
2️⃣ تعریف کنترلر (Controller):
- کنترلری بسازید که وظیفه پردازش درخواستهای ورودی را بر عهده داشته باشد. در اینجا، منطق لازم برای پردازش دادههای دریافتی از وبهوک پیادهسازی میشود.
3️⃣ تضمین امنیت:
- اطمینان حاصل کنید که درخواستها از منبع معتبری آمدهاند. برای این منظور، ممکن است نیاز به استفاده از توکنهای امضا شده یا سایر روشهای احراز هویت باشد.
4️⃣ لاگ برداری و خطایابی:
- برای ردیابی آسانتر مشکلات احتمالی، درخواستها و پاسخهای وبهوک را ثبت کنید.
5️⃣ تست کردن:
- قبل از بهرهبرداری کامل، سیستم را با دادههای واقعی یا شبیهسازی شده تست کنید تا از کارکرد صحیح آن اطمینان حاصل شود.
🔍 نکات اضافی:
🔸مدیریت خطاها: مطمئن شوید که سیستم شما در صورت بروز خطا به درستی واکنش نشان میدهد.
🔸مقیاسپذیری: برنامهریزی کنید که چگونه سیستمتان با تعداد زیادی درخواست وبهوک کنار میآید.
🔸استفاده از بسته وبهوک Spatie به دلیل ویژگیهای قدرتمند و امکان استفاده برای وبهوکهای متعدد توصیه میشود.
مطالعه داکیومنتهای رسمی Spatie برای کسب اطلاعات بیشتر.
🔗 https://github.com/spatie/laravel-webhook-client
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
📌 اگر نمیدونی مفهوم وبهوک چیه، در کانال اتاق برنامه نویسی </> توضیح داده شده.
💻 برای رسیدگی به وبهوکها در لاراول، مراحل خاصی را باید دنبال کنید. لاراول امکانات زیادی برای تسهیل کار با وبهوکها فراهم میکند. در ادامه، مراحل اصلی برای مدیریت وبهوکها در لاراول را بررسی میکنیم:
1️⃣ ایجاد روت (Route):
- ابتدا یک روت در برنامهتان تعریف کنید که به عنوان نقطه پایانی وبهوک عمل کند. این روت باید قادر به دریافت درخواستهای HTTP POST باشد.
Route::post('/webhook', 'WebhookController@handle');
2️⃣ تعریف کنترلر (Controller):
- کنترلری بسازید که وظیفه پردازش درخواستهای ورودی را بر عهده داشته باشد. در اینجا، منطق لازم برای پردازش دادههای دریافتی از وبهوک پیادهسازی میشود.
class WebhookController extends Controller
{
public function handle(Request $request)
{
// منطق پردازش وبهوک
}
}
3️⃣ تضمین امنیت:
- اطمینان حاصل کنید که درخواستها از منبع معتبری آمدهاند. برای این منظور، ممکن است نیاز به استفاده از توکنهای امضا شده یا سایر روشهای احراز هویت باشد.
4️⃣ لاگ برداری و خطایابی:
- برای ردیابی آسانتر مشکلات احتمالی، درخواستها و پاسخهای وبهوک را ثبت کنید.
5️⃣ تست کردن:
- قبل از بهرهبرداری کامل، سیستم را با دادههای واقعی یا شبیهسازی شده تست کنید تا از کارکرد صحیح آن اطمینان حاصل شود.
🔍 نکات اضافی:
🔸مدیریت خطاها: مطمئن شوید که سیستم شما در صورت بروز خطا به درستی واکنش نشان میدهد.
🔸مقیاسپذیری: برنامهریزی کنید که چگونه سیستمتان با تعداد زیادی درخواست وبهوک کنار میآید.
🔸استفاده از بسته وبهوک Spatie به دلیل ویژگیهای قدرتمند و امکان استفاده برای وبهوکهای متعدد توصیه میشود.
مطالعه داکیومنتهای رسمی Spatie برای کسب اطلاعات بیشتر.
🔗 https://github.com/spatie/laravel-webhook-client
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
Telegram
اتاق برنامه نویسی </>
⚙️ What is a Webhook ?
وبهوک (Webhook) یکی از مفاهیم کاربردی در برنامهنویسی و توسعه وب است. وبهوکها روشهایی هستند که اجازه میدهند یک برنامه یا سرویس به طور خودکار به رویدادهایی که در سرویس دیگری رخ میدهد، پاسخ دهد. به عبارت دیگر، وبهوکها امکان ارتباط…
وبهوک (Webhook) یکی از مفاهیم کاربردی در برنامهنویسی و توسعه وب است. وبهوکها روشهایی هستند که اجازه میدهند یک برنامه یا سرویس به طور خودکار به رویدادهایی که در سرویس دیگری رخ میدهد، پاسخ دهد. به عبارت دیگر، وبهوکها امکان ارتباط…
👍5❤1🔥1
کانال آموزشی لاراول
✨ How to handle Webhook in Laravel: 📌 اگر نمیدونی مفهوم وبهوک چیه، در کانال اتاق برنامه نویسی </> توضیح داده شده. 💻 برای رسیدگی به وبهوکها در لاراول، مراحل خاصی را باید دنبال کنید. لاراول امکانات زیادی برای تسهیل کار با وبهوکها فراهم میکند. در…
🛠 منطق پردازش وبهوک در لاراول (Laravel):
- منطق پردازش وبهوک به کدی اشاره دارد که در داخل تابع
1️⃣ تأیید اعتبار درخواست:
- اولین قدم تأیید اعتبار درخواست است، که شامل بررسی منبع درخواست و احتمالاً توکنهای امنیتی یا امضاهای دیجیتال است.
2️⃣ پردازش دادههای دریافتی:
- پردازش دادههای دریافتی بسته به نوع وبهوک، که ممکن است شامل خواندن و تجزیه این دادهها باشد.
3️⃣ بروزرسانی پایگاه داده:
- بروزرسانی پایگاه داده بر اساس اطلاعات دریافتی، مثلاً بهروزرسانی وضعیت سفارش در پایگاه داده.
4️⃣ ارسال اطلاعیهها:
- ارسال اطلاعیههایی بر اساس وبهوک به کاربران یا سایر سیستمها.
5️⃣ لاگگیری و خطایابی:
- لاگگیری فرآیند پردازش وبهوک برای اهداف خطایابی یا حسابرسی.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
- منطق پردازش وبهوک به کدی اشاره دارد که در داخل تابع
handle در WebhookController نوشته میشود. این منطق بستگی به نوع وبهوک و کاربرد خاص آن در برنامه شما دارد.1️⃣ تأیید اعتبار درخواست:
- اولین قدم تأیید اعتبار درخواست است، که شامل بررسی منبع درخواست و احتمالاً توکنهای امنیتی یا امضاهای دیجیتال است.
if (! $this->isRequestValid($request)) {
return response('Invalid request', 403);
}
2️⃣ پردازش دادههای دریافتی:
- پردازش دادههای دریافتی بسته به نوع وبهوک، که ممکن است شامل خواندن و تجزیه این دادهها باشد.
$data = $request->input('data');
// انجام عملیات بر اساس دادههای دریافتی
3️⃣ بروزرسانی پایگاه داده:
- بروزرسانی پایگاه داده بر اساس اطلاعات دریافتی، مثلاً بهروزرسانی وضعیت سفارش در پایگاه داده.
Order::find($data['order_id'])->update(['status' => $data['status']]);
4️⃣ ارسال اطلاعیهها:
- ارسال اطلاعیههایی بر اساس وبهوک به کاربران یا سایر سیستمها.
Notification::send($user, new OrderStatusUpdated($order));
5️⃣ لاگگیری و خطایابی:
- لاگگیری فرآیند پردازش وبهوک برای اهداف خطایابی یا حسابرسی.
Log::info('Webhook processed', ['data' => $data]);
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
👍9❤2🔥1
📖 آرکیلوخوس، شاعر یونان باستان، میگوید:
"ما به سطح انتظاراتمان بالا نمیرویم، بلکه به سطح آموزشهایمان سقوط میکنیم."
🎯 این جمله پیامی عمیق دارد:
موفقیت ما در لحظات سرنوشتساز، نتیجهی رویاها و آرزوهایمان نیست، بلکه بازتابی از ساعات، روزها و سالهای تمرین و تلاش مستمر ماست. هرچه در آموزش و تمرین خود جدیتر باشیم، در شرایط دشوار بهتر عمل خواهیم کرد.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
"ما به سطح انتظاراتمان بالا نمیرویم، بلکه به سطح آموزشهایمان سقوط میکنیم."
🎯 این جمله پیامی عمیق دارد:
موفقیت ما در لحظات سرنوشتساز، نتیجهی رویاها و آرزوهایمان نیست، بلکه بازتابی از ساعات، روزها و سالهای تمرین و تلاش مستمر ماست. هرچه در آموزش و تمرین خود جدیتر باشیم، در شرایط دشوار بهتر عمل خواهیم کرد.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
❤10👍4💯1
کانال آموزشی لاراول
Photo
🌐 معرفی FilamentPHP:
ابزاری قدرتمند برای توسعهدهندگان وب بر پایه Laravel
🛠 در واقع FilamentPHP، یک کتابخانه فوقالعاده برای ساخت رابط کاربری (UI) و تجربه کاربری (UX) در برنامههای وب Laravel است. این ابزار با امکانات گستردهای که ارائه میدهد، به توسعهدهندگان کمک میکند تا رابطهای کاربری جذاب و کارآمد بسازند.
🤩 ویژگیهای برجسته FilamentPHP:
1️⃣ داشبوردها و پنلهای ادمین: ساخت داشبوردهای مدیریتی و پنلهای کاربری با طراحی زیبا و کاربردی.
2️⃣ کامپوننتهای قابل استفاده مجدد: مجموعهای از عناصر UI مانند فرمها، دکمهها و جدولها برای استفاده در پروژهها.
3️⃣ طراحی واکنشگرا: رابطهای کاربری سازگار با انواع دستگاهها و اندازههای مختلف صفحهنمایش.
4️⃣ تنظیمات و افزونههای قابل گسترش: امکان اضافه کردن ویژگیهای جدید به راحتی.
5️⃣ سهولت در توسعه: افزایش کارایی و کاهش زمان توسعه با استفاده از FilamentPHP.
🔍 جمعبندی:
پس FilamentPHP یک ابزار فوقالعاده برای توسعهدهندگان Laravel است که به آنها امکان میدهد تا رابطهای کاربری پیشرفته و تعاملی را به سادگی ایجاد کنند. این ابزار برای هر توسعهدهندهای که به دنبال ساخت UIهای جذاب و کارآمد است، ایدهآل است.
🔗 صفحه مستندات:
https://filamentphp.com/docs
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
ابزاری قدرتمند برای توسعهدهندگان وب بر پایه Laravel
🛠 در واقع FilamentPHP، یک کتابخانه فوقالعاده برای ساخت رابط کاربری (UI) و تجربه کاربری (UX) در برنامههای وب Laravel است. این ابزار با امکانات گستردهای که ارائه میدهد، به توسعهدهندگان کمک میکند تا رابطهای کاربری جذاب و کارآمد بسازند.
🤩 ویژگیهای برجسته FilamentPHP:
1️⃣ داشبوردها و پنلهای ادمین: ساخت داشبوردهای مدیریتی و پنلهای کاربری با طراحی زیبا و کاربردی.
2️⃣ کامپوننتهای قابل استفاده مجدد: مجموعهای از عناصر UI مانند فرمها، دکمهها و جدولها برای استفاده در پروژهها.
3️⃣ طراحی واکنشگرا: رابطهای کاربری سازگار با انواع دستگاهها و اندازههای مختلف صفحهنمایش.
4️⃣ تنظیمات و افزونههای قابل گسترش: امکان اضافه کردن ویژگیهای جدید به راحتی.
5️⃣ سهولت در توسعه: افزایش کارایی و کاهش زمان توسعه با استفاده از FilamentPHP.
🔍 جمعبندی:
پس FilamentPHP یک ابزار فوقالعاده برای توسعهدهندگان Laravel است که به آنها امکان میدهد تا رابطهای کاربری پیشرفته و تعاملی را به سادگی ایجاد کنند. این ابزار برای هر توسعهدهندهای که به دنبال ساخت UIهای جذاب و کارآمد است، ایدهآل است.
🔗 صفحه مستندات:
https://filamentphp.com/docs
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
Filament
Documentation - Filament
👍15❤2🔥1
Media is too big
VIEW IN TELEGRAM
✨ این ویدیو در مورد پکیج "Laravel Pulse" است و به بررسی ویژگیهای مختلف "Pulse" میپردازد.
🔹در این ویدیو، نحوه نصب و استفاده از "Pulse" در یک برنامه Laravel نشان داده میشود. توضیح داده میشود که چگونه "Pulse" میتواند دادههای مختلف، کارهای در صف، کوئریهای کند، استثناها، درخواستها، و درخواستهای خروجی را جمعآوری و نمایش دهد.
🔸همچنین، امکان سفارشیسازی داشبورد "Pulse" و افزودن کارتهای سفارشی برای نمایش دادههای دلخواه وجود دارد.
🔹ویدیو همچنین به برخی از ملاحظات عملکردی میپردازد، مانند استفاده از پایگاه داده جداگانه برای دادههای "Pulse"، استفاده از Redis برای کاهش بار بر روی پایگاه داده اصلی، و نمونهبرداری دادهها برای کاهش بار سرور در وبسایتهای با ترافیک بالا.
🧩 در کل، این ویدیو یک معرفی جامع به "Laravel Pulse" و نحوه استفاده از آن برای بهبود عملکرد و نظارت بر برنامههای Laravel است.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
🔹در این ویدیو، نحوه نصب و استفاده از "Pulse" در یک برنامه Laravel نشان داده میشود. توضیح داده میشود که چگونه "Pulse" میتواند دادههای مختلف، کارهای در صف، کوئریهای کند، استثناها، درخواستها، و درخواستهای خروجی را جمعآوری و نمایش دهد.
🔸همچنین، امکان سفارشیسازی داشبورد "Pulse" و افزودن کارتهای سفارشی برای نمایش دادههای دلخواه وجود دارد.
🔹ویدیو همچنین به برخی از ملاحظات عملکردی میپردازد، مانند استفاده از پایگاه داده جداگانه برای دادههای "Pulse"، استفاده از Redis برای کاهش بار بر روی پایگاه داده اصلی، و نمونهبرداری دادهها برای کاهش بار سرور در وبسایتهای با ترافیک بالا.
🧩 در کل، این ویدیو یک معرفی جامع به "Laravel Pulse" و نحوه استفاده از آن برای بهبود عملکرد و نظارت بر برنامههای Laravel است.
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
🤩11👍5🔥2
کانال آموزشی لاراول
Video
✨فیلتر کردن پاسخهای API با Laravel Purity
بسته Laravel Purity یک پکیج فیلتر کردن و مرتبسازی زیبا و کارآمد برای Laravel است که برای سادهسازی منطق پیچیده فیلتر دادهها و مرتبسازی برای کوئریهای eloquent طراحی شده است. با افزودن ساده ()filter به کوئری Eloquent خود، میتوانید امکان فیلتر کردن توسط کاربران frontend را بر اساس پارامترهای رشته کوئری URL به آسانی فراهم کنید.
🔸 فرض کنید کنترلر شما مجموعهای از کتابها را برمیگرداند و میخواهید اجازه فیلتر کردن بر اساس slug دستهبندی mystery را بدهید:
با استفاده از این بسته، حالا میتوانید درخواستی ارسال کنید که هدفگیری slug دستهبندی یا هر فیلد دیگری که اجازه فیلتر شدن را میدهید:
پاسخ فیلتر شده اکنون تنها شامل کتابهایی در دستهبندی با slug mystery خواهد بود. Purity انواع فیلترها را برای مواردی مانند in$ و lt$ یا gt$ و غیره ارائه میدهد.
🔹در واقع Purity ویژگیهای اصلی زیر را برای تبدیل شدن به یک بسته قدرتمند فیلتر کردن و مرتبسازی دادهها برای مدلهای Eloquent ارائه میدهد:
- پشتیبانی از Livewire
- تغییر نام و محدود کردن فیلدها
- روشهای مختلف فیلتر
- نصب و استفاده آسان
- فیلتر بر اساس ستونهای رابطه
- فیلترهای سفارشی
- مرتبسازی چند ستونه
🔗 برای دستورالعملهای استفاده و راهاندازی، صفحه مستندات Purity را بررسی کنید!
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
بسته Laravel Purity یک پکیج فیلتر کردن و مرتبسازی زیبا و کارآمد برای Laravel است که برای سادهسازی منطق پیچیده فیلتر دادهها و مرتبسازی برای کوئریهای eloquent طراحی شده است. با افزودن ساده ()filter به کوئری Eloquent خود، میتوانید امکان فیلتر کردن توسط کاربران frontend را بر اساس پارامترهای رشته کوئری URL به آسانی فراهم کنید.
🔸 فرض کنید کنترلر شما مجموعهای از کتابها را برمیگرداند و میخواهید اجازه فیلتر کردن بر اساس slug دستهبندی mystery را بدهید:
return Book::filter()->with('category')->get();با استفاده از این بسته، حالا میتوانید درخواستی ارسال کنید که هدفگیری slug دستهبندی یا هر فیلد دیگری که اجازه فیلتر شدن را میدهید:
/api/books?filters[category][slug][$eq]=mystery
پاسخ فیلتر شده اکنون تنها شامل کتابهایی در دستهبندی با slug mystery خواهد بود. Purity انواع فیلترها را برای مواردی مانند in$ و lt$ یا gt$ و غیره ارائه میدهد.
🔹در واقع Purity ویژگیهای اصلی زیر را برای تبدیل شدن به یک بسته قدرتمند فیلتر کردن و مرتبسازی دادهها برای مدلهای Eloquent ارائه میدهد:
- پشتیبانی از Livewire
- تغییر نام و محدود کردن فیلدها
- روشهای مختلف فیلتر
- نصب و استفاده آسان
- فیلتر بر اساس ستونهای رابطه
- فیلترهای سفارشی
- مرتبسازی چند ستونه
🔗 برای دستورالعملهای استفاده و راهاندازی، صفحه مستندات Purity را بررسی کنید!
✅ کانال تخصصی لاراول
📌 @PapiDon_state
☕️ اتاق برنامه نویسی </>
📌 @PapiDon_coding
abbasudo.github.io
Home | Laravel Purity
Filter and Sort Laravel Queries Elegantly
👍11❤2🔥1