Learning Laravel
1.05K subscribers
37 photos
66 videos
69 files
100 links
Learning laravel for persian php developers

Admin: @hamo84

گروه پرسش و پاسخ و بحث و بررسی لاراول
https://t.me/laravel_frameworkk
Download Telegram
Forwarded from Ditty | دیتی
🔺الگوی طراحی Abstract Factory به زبان #ساده

- اگه کدهایی دارین که پر از if/else و new هست، شاید این الگو برای شما باشه

- این الگو با مخفی کردن قسمت‌های ساختن اشیا از دید کاربر، کمک می‌کنه تا کدهای تمیزتر و قابل توسعه‌تری داشته باشیم 👌

- برای آشنایی با این الگو این پست رو بخونید:
ditty.ir/304

#oop
Forwarded from Ditty | دیتی
🔺الگوی طراحی Builder به زبان #ساده

- اگه آبجکت‌هایی داریم که مراحل ساخت پیچیده‌ای دارن، از این الگو استفاده می‌کنیم

- یکی از معروف‌ترین پیاده‌سازی‌های این الگو، Query Builder ها هست که توی بیشتر زبان‌ها و فریم‌ورک‌ها وجود داره و برای ساختن دستورات SQL استفاده میشه

- توی این پست با این الگو آشنا می‌شیم و یاد می‌گیریم که چطوری یک Query Builder ساده بسازیم:
ditty.ir/305

#oop
Forwarded from Ditty | دیتی
🔺توی #لاراول چطوری آدرس‌هایی با امنیت بالاتر داشته باشیم؟

- فرض کنیم برای لغو اشتراک ایمیل کاربر شماره ۹۰ آدرسی داریم به صورت زیر:
example.com/unsubscribe/90

- این لینک به صورت عمومی در دسترس هست و این کاربر می‌تونه با عوض کردن شناسه ۹۰ با ۸۹، اشتراک کاربر شما ۸۹ رو هم لغو کنه!

- با Signed URLs لاراول می‌تونیم بدون احتیاج به احراز هویت جلوی این کار رو بگیریم 👌

ـ Signed URLs لاراول به زبان ساده:
https://ditty.ir/306

#laravel 💯
Forwarded from Ditty | دیتی
🔺اعتبارسنجی تاریخ‌ها در #لاراول

- اگه توی برنامه تاریخ‌هایی داریم و می‌خوایم اونها رو اعتبارسنجی کنیم، لاراول امکانات #جالبی رو در اختیار ما گذاشته تا راحت‌تر از همیشه این کار رو انجام بدیم 👌

- توی این پست با چند تا از این قوانین آشنا می‌شیم:
ditty.ir/127

#laravel
Forwarded from Ditty | دیتی
🔺الگوی طراحی Prototype به زبان #ساده

- با این الگو می‌تونیم تمیزتر و بهینه‌تر، از آبجکت‌های موجود کپی داشته باشیم

- از این الگو زمانی استفاده می‌کنیم که:
— ساختن نمونه از کلاس هزینه زیادی داره
— آماده‌سازی و پیکربندی نمونه زمان‌بر هست
— کلاس واقعی برای ساختن نمونه ناشناخته هست

- از لینک زیر با این الگو که درک و پیاده‌سازی کاملاً راحتی داره آشنا بشین:
https://ditty.ir/p/X8dLX

#oop
Forwarded from Ditty | دیتی
🔺الگوی طراحی Singleton به زبان #ساده

- این الگو این اطمینان رو میده که فقط یک نمونه از یک کلاس خاص در سرتاسر برنامه وجود داشته باشه و راهی رو ارائه میده تا بتونیم به همون نمونه دسترسی داشته باشیم

- این الگو یکی از پراستفاده‌ترین و همچنین #بحث‌برانگیز ترین الگوهاست

- از این الگو زمانی استفاده می‌کنیم که:
— ساختن نمونه هزینه زیادی داره و می‌خوایم مطمئن بشیم که فقط یک نمونه از کلاس در سراسر برنامه وجود داره

- از لینک زیر با این الگو آشنا بشین:
ditty.ir/320

#oop
Forwarded from Ditty | دیتی
🔺نمایش مرتب روت‌ها در #لاراول

- قبلاً دستور route:list توی خط فرمان، خروجی‌ای رو تولید می‌کرد که نقض حقوق بشر به حساب می‌اومد :))

- پکیج pretty-routes رو نصب کنین تا خیلی بهتر و خواناتر لیستی از همه روت‌های برنامه رو داشته باشین

- Installation:
composer require wulfheart/pretty_routes

- Usage:
php artisan route:pretty

اطلاعات بیشتر
#laravel
Forwarded from Ditty | دیتی
🔺الگوی طراحی Adapter به زبان #ساده

- با این الگو می‌تونیم توی برنامه از کلاس‌هایی که نوع و اینترفیس ناسازگار دارن استفاده کنیم، بدون اینکه کدی رو تغییر بدیم

- مثلاً می‌خوایم از کلاس‌های چند کتابخونه خارجی استفاده کنیم که همگی نحوه پیاده‌سازی و استفاده متفاوتی دارن. به جای اینکه کدهای برنامه و یا ساختار کلاس‌ها رو تغییر بدیم، کافیه از Adapter استفاده کنیم 👌

- از لینک زیر با این الگو آشنا بشین:
ditty.ir/322

#oop
Forwarded from Ditty | دیتی
🔺یک ویژگی جالب به #لاراول 8.51 اضافه شده به اسم Conditional Classes

- توی فایل‌های Blade با استفاده از یک Directive جدید به اسم class@ می‌تونیم نمایش کلاس‌های یک المنت رو کنترل کنیم

- این Directive یک ورودی به صورت آرایه‌ key/value می‌گیره که شامل کلاس‌های مد نظر هست. مقدار key اسم کلاس مد نظر و مقدار value یک عبارت بولین هست

- کلاس مد نظر فقط زمانی نشون داده میشه که مقدار value برابر با true باشه

- همچنین اگه عضو آرایه بدون key باشه، (مثل p-4) کلاس مد نظر برای ما نمایش داده میشه

- خط آخر عکس، خروجی چیزی که تولید میشه هست
#laravel
Forwarded from Ditty | دیتی
🔺الگوی طراحی Composite به زبان #ساده

- این الگو کمک می‌کنه تا بتونیم با گروهی از آبجکت‌ها که نوع‌های مختلفی دارن، اما باید به شکل یک ساختار درختی کنار هم قرار بگیرن، طوری کار کنیم که انگار همگی نوع‌های یکسانی دارن

- برای مثال یک ساختار درختی از اعضای یک سازمان داریم که شامل بخش‌ها و اعضای مختلفی مثل مدیران عامل، بخش فنی و نیروهای مربوط به هر بخش میشه

- قطعاً توی این ساختار درختی هر عضو و بخشی ممکنه نوع تفاوتی داشته باشه و اگه بخوایم روی این ساختار کارهایی رو انجام بدیم (مثلاً نمایش حقوق اعضا، اطلاعات هر عضو و بخش، درآمد و ...) نیاز داریم تا با اعضا و بخش‌ها طوری رفتار کنیم که انگار همگی نوع‌های یکسانی دارن

- توی پست زیر یاد می‌گیریم که چطوری این کار رو با الگوی Composite انجام بدیم:
ditty.ir/414

#oop 💯
Forwarded from Ali
یک ویژگی جالب به لاراول ۸.۵۷ اضافه شده برای اینکه بتونیم کوئری‌هایی که برای Relation ها می‌نوسیم رو کوتاه‌تر کنیم 👌
Forwarded from Ditty | دیتی
🔺الگوی طراحی Decorator به زبان #ساده

- از این الگو زمانی استفاده می‌کنیم که می‌خوایم به آبجکت‌ها ویژگی اضافه کنیم یا رفتار اونها رو تغییر بدیم

- در واقع با این الگو می‌تونیم به آبجکت‌های موجود، در زمان اجرای کد (Run-time) ویژگی اضافه کنیم. بدون اینکه مجبور باشیم کلاس‌های اونها رو دستکاری کنیم و یا زیرکلاس بسازیم

- این الگو کاربرد زیاد و پیاده‌سازی راحتی داره که توی این قسمت با اون آشنا می‌شیم:
https://ditty.ir/p/5dPv5

#oop 💯