7 Sept 2021, 10:38 UTC≈6,940 views0 reactionsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Decorator به زبان #ساده
- از این الگو زمانی استفاده میکنیم که میخوایم به آبجکتها ویژگی اضافه کنیم یا رفتار اونها رو تغییر بدیم
- در واقع با این الگو میتونیم به آبجکتهای موجود، در زمان اجرای کد (Run-time) ویژگی اضافه کنیم. بدون اینکه مجبور باشیم کلاسهای اونها رو دستکاری کنیم و یا زیرکلاس بسازیم
- این الگو کاربرد زیاد و پیادهسازی راحتی داره که توی این قسمت با اون آشنا میشیم:
https://ditty.ir/p/5…
Signed Ali
7 Sept 2021, 05:19 UTC≈5,980 views2 reactionsread 8 August 2026 Photo
یک ویژگی جالب به لاراول ۸.۵۷ اضافه شده برای اینکه بتونیم کوئریهایی که برای Relation ها مینوسیم رو کوتاهتر کنیم 👌
👍2
Signed Ali
31 Jul 2021, 06:07 UTC≈5,010 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Composite به زبان #ساده
- این الگو کمک میکنه تا بتونیم با گروهی از آبجکتها که نوعهای مختلفی دارن، اما باید به شکل یک ساختار درختی کنار هم قرار بگیرن، طوری کار کنیم که انگار همگی نوعهای یکسانی دارن
- برای مثال یک ساختار درختی از اعضای یک سازمان داریم که شامل بخشها و اعضای مختلفی مثل مدیران عامل، بخش فنی و نیروهای مربوط به هر بخش میشه
- قطعاً توی این ساختار درختی هر عضو و بخشی ممکنه نوع تفاوتی داشت…
Signed Ali
24 Jul 2021, 16:11 UTC≈4,020 viewsread 8 August 2026 Forwarded from @ditty_irPhoto
🔺یک ویژگی جالب به #لاراول 8.51 اضافه شده به اسم Conditional Classes
- توی فایلهای Blade با استفاده از یک Directive جدید به اسم class@ میتونیم نمایش کلاسهای یک المنت رو کنترل کنیم
- این Directive یک ورودی به صورت آرایه key/value میگیره که شامل کلاسهای مد نظر هست. مقدار key اسم کلاس مد نظر و مقدار value یک عبارت بولین هست
- کلاس مد نظر فقط زمانی نشون داده میشه که مقدار value برابر با true باشه
- همچنین اگه عض…
Signed Ali
30 May 2021, 10:39 UTC≈3,490 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Adapter به زبان #ساده
- با این الگو میتونیم توی برنامه از کلاسهایی که نوع و اینترفیس ناسازگار دارن استفاده کنیم، بدون اینکه کدی رو تغییر بدیم
- مثلاً میخوایم از کلاسهای چند کتابخونه خارجی استفاده کنیم که همگی نحوه پیادهسازی و استفاده متفاوتی دارن. به جای اینکه کدهای برنامه و یا ساختار کلاسها رو تغییر بدیم، کافیه از Adapter استفاده کنیم 👌
- از لینک زیر با این الگو آشنا بشین:
ditty.ir/322
#oop
Signed Ali
15 May 2021, 12:43 UTC≈3,160 views0 reactionsread 8 August 2026 Forwarded from @ditty_irPhoto
🔺نمایش مرتب روتها در #لاراول
- قبلاً دستور route:list توی خط فرمان، خروجیای رو تولید میکرد که نقض حقوق بشر به حساب میاومد :))
- پکیج pretty-routes رو نصب کنین تا خیلی بهتر و خواناتر لیستی از همه روتهای برنامه رو داشته باشین
- Installation:
composer require wulfheart/pretty_routes
- Usage:
php artisan route:pretty
اطلاعات بیشتر
#laravel
Signed Ali
29 Apr 2021, 08:02 UTC≈2,760 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Singleton به زبان #ساده
- این الگو این اطمینان رو میده که فقط یک نمونه از یک کلاس خاص در سرتاسر برنامه وجود داشته باشه و راهی رو ارائه میده تا بتونیم به همون نمونه دسترسی داشته باشیم
- این الگو یکی از پراستفادهترین و همچنین #بحثبرانگیز ترین الگوهاست
- از این الگو زمانی استفاده میکنیم که:
— ساختن نمونه هزینه زیادی داره و میخوایم مطمئن بشیم که فقط یک نمونه از کلاس در سراسر برنامه وجود داره
- از لین…
Signed Ali
20 Apr 2021, 11:27 UTC≈2,440 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Prototype به زبان #ساده
- با این الگو میتونیم تمیزتر و بهینهتر، از آبجکتهای موجود کپی داشته باشیم
- از این الگو زمانی استفاده میکنیم که:
— ساختن نمونه از کلاس هزینه زیادی داره
— آمادهسازی و پیکربندی نمونه زمانبر هست
— کلاس واقعی برای ساختن نمونه ناشناخته هست
- از لینک زیر با این الگو که درک و پیادهسازی کاملاً راحتی داره آشنا بشین:
https://ditty.ir/p/X8dLX
#oop
Signed Ali
14 Apr 2021, 08:58 UTC≈2,330 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺اعتبارسنجی تاریخها در #لاراول
- اگه توی برنامه تاریخهایی داریم و میخوایم اونها رو اعتبارسنجی کنیم، لاراول امکانات #جالبی رو در اختیار ما گذاشته تا راحتتر از همیشه این کار رو انجام بدیم 👌
- توی این پست با چند تا از این قوانین آشنا میشیم:
ditty.ir/127
#laravel
Signed Ali
10 Apr 2021, 07:21 UTC≈2,250 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺توی #لاراول چطوری آدرسهایی با امنیت بالاتر داشته باشیم؟
- فرض کنیم برای لغو اشتراک ایمیل کاربر شماره ۹۰ آدرسی داریم به صورت زیر:
example.com/unsubscribe/90
- این لینک به صورت عمومی در دسترس هست و این کاربر میتونه با عوض کردن شناسه ۹۰ با ۸۹، اشتراک کاربر شما ۸۹ رو هم لغو کنه!
- با Signed URLs لاراول میتونیم بدون احتیاج به احراز هویت جلوی این کار رو بگیریم 👌
ـ Signed URLs لاراول به زبان ساده:
https://ditty.ir/…
Signed Ali
4 Apr 2021, 09:03 UTC≈2,080 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Builder به زبان #ساده
- اگه آبجکتهایی داریم که مراحل ساخت پیچیدهای دارن، از این الگو استفاده میکنیم
- یکی از معروفترین پیادهسازیهای این الگو، Query Builder ها هست که توی بیشتر زبانها و فریمورکها وجود داره و برای ساختن دستورات SQL استفاده میشه
- توی این پست با این الگو آشنا میشیم و یاد میگیریم که چطوری یک Query Builder ساده بسازیم:
ditty.ir/305
#oop
Signed Ali
31 Mar 2021, 10:36 UTC≈1,960 viewsread 8 August 2026 Forwarded from @ditty_ir
🔺الگوی طراحی Abstract Factory به زبان #ساده
- اگه کدهایی دارین که پر از if/else و new هست، شاید این الگو برای شما باشه
- این الگو با مخفی کردن قسمتهای ساختن اشیا از دید کاربر، کمک میکنه تا کدهای تمیزتر و قابل توسعهتری داشته باشیم 👌
- برای آشنایی با این الگو این پست رو بخونید:
ditty.ir/304
#oop
Signed Ali
Showing the 12 most recent of 20 posts we hold for @learning_laravel. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.