Forwarded from کانال آموزشی لاراول (PapiDon)
🧐 What is Pure Functions ?
✨توابع خالص یا Pure Functions مفهوم مهمی در برنامهنویسی هستند که دارای دو ویژگی اصلی میباشند:
1️⃣ خروجی ثابت: برای ورودیهای مشابه، همیشه یک خروجی یکسان تولید میکنند.
2️⃣ عدم وجود اثرات جانبی (Side Effects): هیچ تغییری در وضعیت برنامه یا متغیرهای خارج از تابع ایجاد نمیکنند.
این تابع با گرفتن دو عدد، جمع آنها را بر میگرداند و هیچ Side Effect ندارد.
⚙️ مزایا :
🔹پیشبینیپذیری: به دلیل اینکه خروجی توابع خالص فقط به ورودیهایش بستگی دارد, برنامهنویس میتواند از رفتار آنها مطمئن باشد.
🔸تستپذیری: توابع خالص راحتتر میتوانند تست شوند چون فقط باید ورودی داده شده و خروجی تولید شده را بررسی کرد.
🔹قابلیت ترکیبپذیری: توابع خالص میتوانند راحتتر با یکدیگر ترکیب شوند تا وظایف پیچیدهتری انجام دهند.
📌@PapiDon_state
✨توابع خالص یا Pure Functions مفهوم مهمی در برنامهنویسی هستند که دارای دو ویژگی اصلی میباشند:
1️⃣ خروجی ثابت: برای ورودیهای مشابه، همیشه یک خروجی یکسان تولید میکنند.
2️⃣ عدم وجود اثرات جانبی (Side Effects): هیچ تغییری در وضعیت برنامه یا متغیرهای خارج از تابع ایجاد نمیکنند.
function add(a, b) {
return a + b;
}این تابع با گرفتن دو عدد، جمع آنها را بر میگرداند و هیچ Side Effect ندارد.
⚙️ مزایا :
🔹پیشبینیپذیری: به دلیل اینکه خروجی توابع خالص فقط به ورودیهایش بستگی دارد, برنامهنویس میتواند از رفتار آنها مطمئن باشد.
🔸تستپذیری: توابع خالص راحتتر میتوانند تست شوند چون فقط باید ورودی داده شده و خروجی تولید شده را بررسی کرد.
🔹قابلیت ترکیبپذیری: توابع خالص میتوانند راحتتر با یکدیگر ترکیب شوند تا وظایف پیچیدهتری انجام دهند.
📌@PapiDon_state
❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
🧐 What is Impure Functions ?
✨ توابع ناخالص یا Impure Functions در مقابل توابع خالص قرار دارند و دو ویژگی اصلی دارند:
1️⃣ وابستگی به حالت خارجی: ممکن است به متغیرها یا حالتهای خارجی وابسته باشند و خروجیشان تنها با توجه به ورودیها قابل پیشبینی نباشد.
2️⃣ وجود Side Effect: مثل تغییر متغیرهای خارجی, انجام ورودی/خروجی و غیره.
این تابع با گرفتن یک متغیر خارجی, مقدار آن را یک واحد افزایش میدهد.
⚠️ توابع ناخالص ممکن است پیچیدگی بیشتری به برنامه اضافه کنند و قابلیت تست و تحلیل برنامه را کاهش دهند. در برنامهنویسی تابعی, توصیه میشود که از توابع خالص بیشتری استفاده کنید تا برنامهی سادهتر و قابل فهمتری داشته باشید.
توابع ناخالص در برخی موارد لازم و مفید هستند, اما استفاده زیاد از آنها ممکن است به سختیهای بیشتری منجر شود. 💡
📌@PapiDon_state
✨ توابع ناخالص یا Impure Functions در مقابل توابع خالص قرار دارند و دو ویژگی اصلی دارند:
1️⃣ وابستگی به حالت خارجی: ممکن است به متغیرها یا حالتهای خارجی وابسته باشند و خروجیشان تنها با توجه به ورودیها قابل پیشبینی نباشد.
2️⃣ وجود Side Effect: مثل تغییر متغیرهای خارجی, انجام ورودی/خروجی و غیره.
let count = 0;
function increment() {
count++;
}
این تابع با گرفتن یک متغیر خارجی, مقدار آن را یک واحد افزایش میدهد.
⚠️ توابع ناخالص ممکن است پیچیدگی بیشتری به برنامه اضافه کنند و قابلیت تست و تحلیل برنامه را کاهش دهند. در برنامهنویسی تابعی, توصیه میشود که از توابع خالص بیشتری استفاده کنید تا برنامهی سادهتر و قابل فهمتری داشته باشید.
توابع ناخالص در برخی موارد لازم و مفید هستند, اما استفاده زیاد از آنها ممکن است به سختیهای بیشتری منجر شود. 💡
📌@PapiDon_state
❤2
Forwarded from کانال آموزشی لاراول (PapiDon)
🔍 آشنایی با دستور
همگان با موقعیتهایی مواجه شدهاند که نیاز به دریافت نتایج منحصر به فرد از دیتابیس دارند. در لاراول، این کار با استفاده از
📌 مثلا، برای دریافت نامهای منحصر به فرد کاربران:
📌 یا برای منحصر بودن بر اساس چندین ستون:
✨distinct
نتایج تکراری را حذف میکند و فقط نتایج منحصر به فرد را به شما نشان میدهد.
🔗 برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
distinct در لاراولهمگان با موقعیتهایی مواجه شدهاند که نیاز به دریافت نتایج منحصر به فرد از دیتابیس دارند. در لاراول، این کار با استفاده از
distinct بسیار سادهتر است.📌 مثلا، برای دریافت نامهای منحصر به فرد کاربران:
$uniqueNames = DB::table('users')->distinct()->pluck('name');
📌 یا برای منحصر بودن بر اساس چندین ستون:
$uniqueData = DB::table('users')->select('account_id', 'email')->distinct()->get();
✨distinct
نتایج تکراری را حذف میکند و فقط نتایج منحصر به فرد را به شما نشان میدهد.
🔗 برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
❤3👍1
Forwarded from کانال آموزشی لاراول (PapiDon)
✨What you do is what matters, not what you think or say or plan.
✨کاری که انجام میدهید مهم است، نه اینکه چه فکر یا چه حرف یا چه برنامهای دارید. - " جیسون فراید"
📌 @PapiDon_state
✨کاری که انجام میدهید مهم است، نه اینکه چه فکر یا چه حرف یا چه برنامهای دارید. - " جیسون فراید"
📌 @PapiDon_state
❤3
Forwarded from کانال آموزشی لاراول (PapiDon)
🛠 کوئری زدن در لاراول
در لاراول، با بهرهگیری از توابع گوناگون، میتوانید انواع جستجوها و کوئریها را برای دیتابیس خود تنظیم و اجرا کنید.
1️⃣ whereNull:
- جستجوی سطرهایی که مقدار خاصی در یک ستون خالی است.
- 📌
- جستجوی سطرهایی با مقدار تاریخی خاص در یک ستون.
- 📌
- جستجوی سطرهایی با مقدار ماهی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار روزی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار سالی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار زمانی خاص در یک ستون.
- 📌
- مقایسه مقادیر دو ستون با یکدیگر و یافتن سطرهای مطابق.
- 📌
- جستجو بر اساس شرط موجود.
- 📌
در لاراول، با بهرهگیری از توابع گوناگون، میتوانید انواع جستجوها و کوئریها را برای دیتابیس خود تنظیم و اجرا کنید.
1️⃣ whereNull:
- جستجوی سطرهایی که مقدار خاصی در یک ستون خالی است.
- 📌
User::whereNull('email_verified_at')->get();
2️⃣ whereDate:- جستجوی سطرهایی با مقدار تاریخی خاص در یک ستون.
- 📌
User::whereDate('created_at', '2023-10-10')->get();
3️⃣ whereMonth:- جستجوی سطرهایی با مقدار ماهی خاص در یک ستون تاریخی.
- 📌
User::whereMonth('created_at', '10')->get();
4️⃣ whereDay:- جستجوی سطرهایی با مقدار روزی خاص در یک ستون تاریخی.
- 📌
User::whereDay('created_at', '10')->get();
5️⃣ whereYear:- جستجوی سطرهایی با مقدار سالی خاص در یک ستون تاریخی.
- 📌
User::whereYear('created_at', '2023')->get();
6️⃣ whereTime:- جستجوی سطرهایی با مقدار زمانی خاص در یک ستون.
- 📌
User::whereTime('created_at', '=', '10:00:00')->get();
7️⃣ whereColumn:- مقایسه مقادیر دو ستون با یکدیگر و یافتن سطرهای مطابق.
- 📌
User::whereColumn('updated_at', '>', 'created_at')->get();
8️⃣ whereExists:- جستجو بر اساس شرط موجود.
- 📌
User::whereExists(function ($query) {
$query->select(DB::raw(1))
->from('orders')
->whereColumn('users.id', 'orders.user_id');
})->get();
📌 @PapiDon_state👍3
Forwarded from کانال آموزشی لاراول (PapiDon)
🔎 بررسی متد
🔹 این متد تمام سطوح آرایه را به یک سطح تبدیل میکند. به طور پیشفرض، تنها یک سطح از آرایه را هموار میکند. اما با تعیین یک عدد به عنوان آرگومان، میتوانید تعداد بیشتری از سطوح را هموار کنید.
📜 مثال کد:
✨برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
()Array.prototype.flat
در برنامهنویسی با جاوااسکریپت، گاهی اوقات با آرایههای چند بعدی سر و کار داریم که نیاز داریم آنها را به یک آرایه تک بعدی تبدیل کنیم. متد ()flat این کار را برای ما آسان میکند.🔹 این متد تمام سطوح آرایه را به یک سطح تبدیل میکند. به طور پیشفرض، تنها یک سطح از آرایه را هموار میکند. اما با تعیین یک عدد به عنوان آرگومان، میتوانید تعداد بیشتری از سطوح را هموار کنید.
📜 مثال کد:
const multiDimensionalArray = [1, [2, 3], [4, [5, 6]]];در این مثال، ما یک آرایه چند بعدی داریم و با استفاده از متد `()flat`، آن را به یک آرایه تک بعدی تبدیل میکنیم.
const flattenedArray = multiDimensionalArray.flat();
console.log(flattenedArray); // Output: [1, 2, 3, 4, [5, 6]]
const deeperFlattenedArray = multiDimensionalArray.flat(2);در این مثال، با تعیین عمق 2، هر دو سطح از آرایه هموار شدهاند.
console.log(deeperFlattenedArray);
// Output: [1, 2, 3, 4, 5, 6]
✨برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
🔥3
Forwarded from کانال آموزشی لاراول (PapiDon)
🔹 معرفی متد
در فریمورک لاراول، متد
⚙️ نحوه کار با
1️⃣ ابتدا یک کالکشن میسازیم:
2️⃣ سپس متد
3️⃣ در نهایت، ما یک آرایه جدید خواهیم داشت که در آن کلیدها نام بخشها و مقادیر نام کارمندان است:
📌 @PapiDon_state
mapWithKeys در لاراول 🔹در فریمورک لاراول، متد
mapWithKeys یکی از متدهای کاربردی کالکشن است که به ما این امکان را میدهد تا یک کالکشن یا آرایه را بگیریم و برای هر عنصر آن، یک کلید و مقدار جدید تعیین کنیم. این متد ویژه زمانی مفید است که میخواهیم دادهها را به نحوی خاص سازماندهی کنیم.⚙️ نحوه کار با
mapWithKeys1️⃣ ابتدا یک کالکشن میسازیم:
use Illuminate\Support\Collection;
$collection = new Collection([
['name' => 'John', 'department' => 'Sales'],
['name' => 'Jane', 'department' => 'Finance']
]);
2️⃣ سپس متد
mapWithKeys را فراخوانی کرده و یک تابع میدهیم که به ازای هر عنصر در کالکشن، یک آرایه از کلید/مقدار جدید برمیگرداند:$grouped = $collection->mapWithKeys(function ($item, $key) {
return [$item['department'] => $item['name']];
});3️⃣ در نهایت، ما یک آرایه جدید خواهیم داشت که در آن کلیدها نام بخشها و مقادیر نام کارمندان است:
// $grouped will be:
// [
// 'Sales' => 'John',
// 'Finance' => 'Jane'
// ]
📌 @PapiDon_state
👍2❤1
سلام دوستان عزیز
اگر لطفا ما رو حمایت کنید ممنون میشیم
اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️
https://t.me/phpandmysql?boost
اگر لطفا ما رو حمایت کنید ممنون میشیم
اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️
https://t.me/phpandmysql?boost
Telegram
PHP & MYSQL
از این کانال حمایت کنید تا بتواند به قابلیتهای اضافی دسترسی پیدا کند.
👍1
PHP & MYSQL pinned «سلام دوستان عزیز اگر لطفا ما رو حمایت کنید ممنون میشیم اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️ https://t.me/phpandmysql?boost»
Forwarded from کانال آموزشی لاراول (PapiDon)
📘آشنایی با Notion: ابزاری جامع برای مدیریت اطلاعات و پروژهها
🔹 آیا تا به حال با مشکل سازماندهی اطلاعات و پروژههای خود روبرو شدهاید؟ Notion پاسخی کارآمد برای شما دارد!
🔸 یک پلتفرم یکپارچه است که به شما این امکان را میدهد تا:
📝 یادداشتهایتان را به راحتی بنویسید و مدیریت کنید.
🗂 وظایف و پروژههای خود را سازماندهی و پیگیری کنید.
📂 اسناد و فایلهای مختلف را در یک مکان مرکزی ذخیره کنید.
🤝 با تیمتان به صورت آنلاین همکاری کنید و اطلاعات را به اشتراک بگذارید.
🔹 قابلیتهای متنوع Notion شامل:
- ایجاد جداول و دیتابیسها 📊
- طراحی برد برای مدیریت وظایف 📋
- سفارشیسازی صفحات بر اساس نیازهای شما 🎨
- ادغام آسان با ابزارهای دیگر مانند Google Calendar, Slack و غیره 🔄
🔸 با Notion، همه چیز در یک مکان واحد و به خوبی سازماندهی شده است. پس از آن برای بهبود بهرهوری خود و تیمتان استفاده کنید!
🔗 برای آغاز کار با Notion به
https://www.notion.so/
مراجعه کنید و اکانت رایگان خود را ایجاد کنید!
📌 @PapiDon_state
🔹 آیا تا به حال با مشکل سازماندهی اطلاعات و پروژههای خود روبرو شدهاید؟ Notion پاسخی کارآمد برای شما دارد!
🔸 یک پلتفرم یکپارچه است که به شما این امکان را میدهد تا:
📝 یادداشتهایتان را به راحتی بنویسید و مدیریت کنید.
🗂 وظایف و پروژههای خود را سازماندهی و پیگیری کنید.
📂 اسناد و فایلهای مختلف را در یک مکان مرکزی ذخیره کنید.
🤝 با تیمتان به صورت آنلاین همکاری کنید و اطلاعات را به اشتراک بگذارید.
🔹 قابلیتهای متنوع Notion شامل:
- ایجاد جداول و دیتابیسها 📊
- طراحی برد برای مدیریت وظایف 📋
- سفارشیسازی صفحات بر اساس نیازهای شما 🎨
- ادغام آسان با ابزارهای دیگر مانند Google Calendar, Slack و غیره 🔄
🔸 با Notion، همه چیز در یک مکان واحد و به خوبی سازماندهی شده است. پس از آن برای بهبود بهرهوری خود و تیمتان استفاده کنید!
🔗 برای آغاز کار با Notion به
https://www.notion.so/
مراجعه کنید و اکانت رایگان خود را ایجاد کنید!
📌 @PapiDon_state
👍2❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
🔹آمادهسازی دادهها قبل از اعتبارسنجی با
🔸 چیستی
🔸 چگونگی کار
در اینجا، ما از متد
🔸 مزایای استفاده از
- تمیزی کد: جلوگیری از تکرار کد و حفظ DRY (Don't Repeat Yourself) در کدهای شما.
- صرفهجویی در زمان: کمتر نیاز به بررسی و ویرایش فرمهای ورودی در سمت کلاینت.
🔹 جمعبندی
استفاده از
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
prepareForValidation
در لاراول، ما همیشه به دنبال تمیز و منظم کردن کدهایمان هستیم و میخواهیم اطمینان حاصل کنیم که دادههایی که کاربران ارسال میکنند، معتبر و آماده پردازش هستند. یکی از تکنیکهای کاربردی برای این کار استفاده از متد prepareForValidation در کلاسهای درخواست سفارشی (FormRequest) است.🔸 چیستی
prepareForValidation
قبل از اینکه اعتبارسنجی فرم شروع شود، لاراول به شما فرصت میدهد که دادههای درخواست را تحت عنوان prepareForValidation تغییر دهید. این به شما اجازه میدهد که هر گونه تغییر یا پیشپردازش لازم روی دادهها انجام دهید.🔸 چگونگی کار
prepareForValidation
فرض کنید میخواهید هر درخواست برای ایجاد "موجودیت" جدید در سیستم شما حتما شامل user_id کاربری باشد که در حال ارسال درخواست است. به جای اینکه user_id را در هر فرم ورودی به صورت دستی اضافه کنید، میتوانید این کار را در سمت سرور و در متد prepareForValidation انجام دهید. نگاهی به کد زیر بیندازید:protected function prepareForValidation()🔸 توضیح کد
{
$this->merge([
'user_id' => $this->user()->id
]);
}
در اینجا، ما از متد
merge برای اضافه کردن user_id به دادههای درخواست استفاده میکنیم. ()this->user$ به ما اطلاعات کاربری که در حال حاضر وارد شده است را میدهد و id آن، شناسه کاربر است. با این روش، user_id به صورت خودکار به درخواست اضافه میشود و نیازی نیست که کاربر آن را وارد کند.🔸 مزایای استفاده از
prepareForValidation
- امنیت: از وارد کردن دادههای نامعتبر یا دستکاریشده توسط کاربر جلوگیری میکند.- تمیزی کد: جلوگیری از تکرار کد و حفظ DRY (Don't Repeat Yourself) در کدهای شما.
- صرفهجویی در زمان: کمتر نیاز به بررسی و ویرایش فرمهای ورودی در سمت کلاینت.
🔹 جمعبندی
استفاده از
prepareForValidation در لاراول یک رویکرد استاندارد و تمیز برای اطمینان از این است که دادههای شما پیش از رسیدن به مرحله اعتبارسنجی و پردازش، به شکل مناسبی آماده شدهاند. این تکنیک، بخش مهمی از نوشتن کدهای مطمئن و امن در لاراول است.✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
❤3
PHP & MYSQL pinned «🔹آمادهسازی دادهها قبل از اعتبارسنجی با prepareForValidation در لاراول، ما همیشه به دنبال تمیز و منظم کردن کدهایمان هستیم و میخواهیم اطمینان حاصل کنیم که دادههایی که کاربران ارسال میکنند، معتبر و آماده پردازش هستند. یکی از تکنیکهای کاربردی برای این کار…»
Forwarded from کانال آموزشی لاراول (PapiDon)
🔍 همه ما برنامهنویسها میدونیم که کار با آرایهها جزء جداییناپذیر کدنویسیه، اما گاهی اوقات با پیچیدگیهاش درگیر میشیم! 🤯 خوشبختانه لاراول یک جعبه ابزار داره که کار با آرایهها رو لذتبخش میکنه.
یکی از این ابزارها، کلاس
🛠 مثلاً، با استفاده از
اینجوری فقط با یک خط کد، شمارههای موبایل رو جدا کردیم و دیگه نیازی به حلقه زدن دستی نداریم!
💡 پس اگه میخوای کدنویسی رو برای خودت راحتتر کنی، حتما از
برای کدهای تمیزتر و سریعتر، فراموش نکن
اگه ازش استفاده کردی یا اگر این مطلب واست مفید بود یه لایک بزن 😌
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
یکی از این ابزارها، کلاس
Arr است که مثل یک ابزار قدرتمند برای کار با آرایهها عمل میکنه! ✨🛠 مثلاً، با استفاده از
Arr::pluck میتونیم راحت از یک لیست بزرگ داده، فقط شمارههای موبایل رو استخراج کنیم. فرض کنید ما یک آرایه از کاربران داریم و هر کاربر دارای اطلاعاتی مثل نام، ایمیل و شماره موبایل هست:
$users = [
['name' => 'علی', 'email' => 'ali@example.com', 'mobile' => '09123456789'],
['name' => 'زهرا', 'email' => 'zahra@example.com', 'mobile' => '09123456788'],
// و دیگر کاربران...
];
$mobiles = Arr::pluck($users, 'mobile');
// نتیجه: ['09123456789', '09123456788', ...]
اینجوری فقط با یک خط کد، شمارههای موبایل رو جدا کردیم و دیگه نیازی به حلقه زدن دستی نداریم!
💡 پس اگه میخوای کدنویسی رو برای خودت راحتتر کنی، حتما از
Arr در پروژههات استفاده کن.برای کدهای تمیزتر و سریعتر، فراموش نکن
Illuminate\Support\Arr رو در بالای فایلت اضافه کنی. 😉اگه ازش استفاده کردی یا اگر این مطلب واست مفید بود یه لایک بزن 😌
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
❤4👍1
PHP & MYSQL pinned «🔍 همه ما برنامهنویسها میدونیم که کار با آرایهها جزء جداییناپذیر کدنویسیه، اما گاهی اوقات با پیچیدگیهاش درگیر میشیم! 🤯 خوشبختانه لاراول یک جعبه ابزار داره که کار با آرایهها رو لذتبخش میکنه. یکی از این ابزارها، کلاس Arr است که مثل یک ابزار قدرتمند…»
Forwarded from کانال آموزشی لاراول (PapiDon)
خبر جدید برای دوستداران Laravel 🧐
📢 تیلور اتول، بنیانگذار Laravel، اخیراً از محصول جدیدی به نام "Laravel Pulse" رونمایی کرده است. این ابزار جدید، که قرار است به صورت رایگان و منبع باز عرضه شود، شایعاتی را در مورد اینکه ممکن است یک سیستم بررسی سلامت برای برنامههای Laravel باشد، مورد توجه قرار گرفته. انتظار میرود این محصول به زودی در کنفرانس Laracon AU به طور کامل معرفی و نمایش داده شود.
✨ ما منتظریم تا ببینیم Laravel Pulse چه قابلیتهای تازهای را برای توسعهدهندگان فراهم میآورد و چگونه میتواند به بهبود و نگهداری اپلیکیشنهای ما کمک کند.
🔔 با ما همراه باشید برای آخرین اخبار و بهروزرسانیهای Laravel Pulse. 😉
📌 @PapiDon_state
📢 تیلور اتول، بنیانگذار Laravel، اخیراً از محصول جدیدی به نام "Laravel Pulse" رونمایی کرده است. این ابزار جدید، که قرار است به صورت رایگان و منبع باز عرضه شود، شایعاتی را در مورد اینکه ممکن است یک سیستم بررسی سلامت برای برنامههای Laravel باشد، مورد توجه قرار گرفته. انتظار میرود این محصول به زودی در کنفرانس Laracon AU به طور کامل معرفی و نمایش داده شود.
✨ ما منتظریم تا ببینیم Laravel Pulse چه قابلیتهای تازهای را برای توسعهدهندگان فراهم میآورد و چگونه میتواند به بهبود و نگهداری اپلیکیشنهای ما کمک کند.
🔔 با ما همراه باشید برای آخرین اخبار و بهروزرسانیهای Laravel Pulse. 😉
📌 @PapiDon_state
👏4❤1👍1
Forwarded from کانال آموزشی لاراول (PapiDon)
🔐 What is Base64 ?
🌀 یک تکنیک رمزنگاری است که دادههای دیجیتال مثل تصاویر یا فایلها را به یک رشته متنی تبدیل میکند که میتوان در متنها و ایمیلها به راحتی استفاده کرد. این رشته از حروف الفبا (A-Z, a-z), اعداد (0-9) و نمادهای (+/) تشکیل شده و گاهی با کاراکتر (=) برای پر کردن فضاهای خالی در پایان استفاده میشود.
🛠 در لاراول چطور؟
🔗 API & Base64
در نوشتن API، Base64 به خصوص برای ارسال دادههای فایل مثل تصاویر یا اسناد PDF کاربردی است. به جای ارسال فایلهای خام، آنها را به Base64 تبدیل میکنید و از طریق JSON یا XML میفرستید. این روش امنیت و سازگاری دادهها را در انتقال اطمینان میبخشد.
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
🌀 یک تکنیک رمزنگاری است که دادههای دیجیتال مثل تصاویر یا فایلها را به یک رشته متنی تبدیل میکند که میتوان در متنها و ایمیلها به راحتی استفاده کرد. این رشته از حروف الفبا (A-Z, a-z), اعداد (0-9) و نمادهای (+/) تشکیل شده و گاهی با کاراکتر (=) برای پر کردن فضاهای خالی در پایان استفاده میشود.
🛠 در لاراول چطور؟
$encoded = base64_encode('متن مورد نظر'); // رمزنگاری
$decoded = base64_decode($encoded); // رمزگشایی🔗 API & Base64
در نوشتن API، Base64 به خصوص برای ارسال دادههای فایل مثل تصاویر یا اسناد PDF کاربردی است. به جای ارسال فایلهای خام، آنها را به Base64 تبدیل میکنید و از طریق JSON یا XML میفرستید. این روش امنیت و سازگاری دادهها را در انتقال اطمینان میبخشد.
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
👏2❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
📌 @PapiDon_state
🔥2❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
🔥 نکته فنی امروز، استفاده از Enums در لاراول
👨💻 آیا تا به حال با
🌟 what is Enum ?
یک نوع داده است که به شما اجازه میدهد مجموعهای محدود از مقادیر معتبر را برای یک متغیر تعریف کنید. این بدان معنی است که متغیر شما فقط میتواند یکی از مقادیر تعریف شده در Enum را داشته باشد، که این به افزایش خوانایی و امنیت کد شما کمک میکند.
🔍 فرض کنید میخواهید نوع سوالات در یک برنامه آزمون را مدیریت کنید. میتوانید یک Enum به نام
✅ کاربرد در اعتبارسنجی:
حالا میتوانید از این Enum در اعتبارسنجی دادهها استفاده کنید. به این ترتیب، تضمین میشود که فقط مقادیر مجاز انتخاب شوند:
🔄 یک روش دیگر:
همچنین میتوانید از روش Rule::in برای تعیین مقادیر مجاز استفاده کنید:
🔹این روش به شما اجازه میدهد به طور مستقیم مقادیر معتبر را از Enum تعیین کنید، که برای مواقعی که میخواهید برخی از مقادیر Enum را حذف کنید یا مقادیر اضافی را وارد کنید، مفید است.
و همچنین امکان مدیریت دقیقتر مقادیر مجاز را فراهم میکند.
🛠 مزایا:
- ✨ تعریف واضح: Enumها تعریف واضحی از مقادیر مجاز ارائه میدهند.
- 🛡 امنیت بیشتر: کاهش خطای انسانی و جلوگیری از ارسال دادههای نامعتبر.
- 📖 خوانایی بهتر: کد شما خواناتر و قابل فهمتر میشود.
📌 نکته پایانی:
استفاده از Enums در لاراول یک روش عالی برای مدیریت مقادیر ثابت و تضمین اعتبار دادهها در برنامههای PHP است. حتماً در پروژههای بعدی خود از آنها استفاده کنید!
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
👨💻 آیا تا به حال با
Enum در لاراول کار کردهاید؟ Enumها (یا انومریشنها)، از قابلیتهای جدید و پرکاربرد در PHP 8.1 به بعد هستند که در لاراول نیز پشتیبانی میشوند. 🌟 what is Enum ?
یک نوع داده است که به شما اجازه میدهد مجموعهای محدود از مقادیر معتبر را برای یک متغیر تعریف کنید. این بدان معنی است که متغیر شما فقط میتواند یکی از مقادیر تعریف شده در Enum را داشته باشد، که این به افزایش خوانایی و امنیت کد شما کمک میکند.
🔍 فرض کنید میخواهید نوع سوالات در یک برنامه آزمون را مدیریت کنید. میتوانید یک Enum به نام
QuestionTypeEnum ایجاد کنید:namespace App\Enums;
enum QuestionTypeEnum: string
{
case Text = 'text';
case Textarea = 'textarea';
case Select = 'select';
case Radio = 'radio';
case Checkbox = 'checkbox';
}
✅ کاربرد در اعتبارسنجی:
حالا میتوانید از این Enum در اعتبارسنجی دادهها استفاده کنید. به این ترتیب، تضمین میشود که فقط مقادیر مجاز انتخاب شوند:
$validator = Validator::make($data, [
'type' => ['required', new Enum(QuestionTypeEnum::class)],
// سایر قوانین اعتبارسنجی...
]);
🔄 یک روش دیگر:
همچنین میتوانید از روش Rule::in برای تعیین مقادیر مجاز استفاده کنید:
$validator = Validator::make($data, [
'type' => ['required', Rule::in(
QuestionTypeEnum::Text->value,
QuestionTypeEnum::Textarea->value,
QuestionTypeEnum::Select->value,
QuestionTypeEnum::Radio->value,
QuestionTypeEnum::Checkbox->value
)],
// سایر قوانین اعتبارسنجی...
]);
🔹این روش به شما اجازه میدهد به طور مستقیم مقادیر معتبر را از Enum تعیین کنید، که برای مواقعی که میخواهید برخی از مقادیر Enum را حذف کنید یا مقادیر اضافی را وارد کنید، مفید است.
و همچنین امکان مدیریت دقیقتر مقادیر مجاز را فراهم میکند.
🛠 مزایا:
- ✨ تعریف واضح: Enumها تعریف واضحی از مقادیر مجاز ارائه میدهند.
- 🛡 امنیت بیشتر: کاهش خطای انسانی و جلوگیری از ارسال دادههای نامعتبر.
- 📖 خوانایی بهتر: کد شما خواناتر و قابل فهمتر میشود.
📌 نکته پایانی:
استفاده از Enums در لاراول یک روش عالی برای مدیریت مقادیر ثابت و تضمین اعتبار دادهها در برنامههای PHP است. حتماً در پروژههای بعدی خود از آنها استفاده کنید!
✅ به کانال ما بپیوندید تا بیشتر با لاراول و تکنیکهای پیشرفته برنامهنویسی آشنا شوید!
📌 @PapiDon_state
❤3
PHP & MYSQL pinned «🔥 نکته فنی امروز، استفاده از Enums در لاراول 👨💻 آیا تا به حال با Enum در لاراول کار کردهاید؟ Enumها (یا انومریشنها)، از قابلیتهای جدید و پرکاربرد در PHP 8.1 به بعد هستند که در لاراول نیز پشتیبانی میشوند. 🌟 what is Enum ? یک نوع داده است که به شما…»