کانال آموزشی لاراول
🔍 شناسایی افزونههای مشکلساز در VSCode سلام دوستان 👋 اگر از کاربران Visual Studio Code هستید، قطعا تا به حال با این موضوع مواجه شدهاید که بعد از نصب یک افزونه یا بهروزرسانی، برخی مواقع سرعت کار با ویرایشگر شما تحت تأثیر قرار میگیرد. اما چطور میتوانیم…
🛠 دستور
وقتی دستور
روند کار به این شکل است:
1️⃣. نصف افزونهها را غیرفعال میکند.
2️⃣. از شما میپرسد که آیا مشکل همچنان وجود دارد یا خیر.
3️⃣. بر اساس پاسخ شما، VSCode تصمیم میگیرد که کدام نصف از افزونهها را بررسی کند.
4️⃣. این فرآیند ادامه پیدا میکند تا مشکلساز پیدا شود.
پس از پیدا کردن افزونهای که مشکل را ایجاد میکند، شما میتوانید آن را حذف یا غیرفعال کنید.
Start Extension Bisect در Visual Studio Code یک ویژگی است که به شما کمک میکند تا مشکلات و مشکلسازهای مرتبط با افزونهها را پیدا کنید. اگر شما احساس میکنید که پس از نصب یک افزونه یا بهروزرسانی یکی از افزونهها، VSCode به شکل نامناسبی عمل میکند، با استفاده از این ویژگی میتوانید مشکلساز را شناسایی کنید.وقتی دستور
Start Extension Bisect را اجرا میکنید، VSCode به شکل تکراری نصف کردن (bisect) افزونهها را غیرفعال میکند تا بفهمد کدام افزونه باعث مشکل میشود. این روش بر مبنای الگوریتم باینری سرچ (binary search) است.روند کار به این شکل است:
1️⃣. نصف افزونهها را غیرفعال میکند.
2️⃣. از شما میپرسد که آیا مشکل همچنان وجود دارد یا خیر.
3️⃣. بر اساس پاسخ شما، VSCode تصمیم میگیرد که کدام نصف از افزونهها را بررسی کند.
4️⃣. این فرآیند ادامه پیدا میکند تا مشکلساز پیدا شود.
پس از پیدا کردن افزونهای که مشکل را ایجاد میکند، شما میتوانید آن را حذف یا غیرفعال کنید.
🙏4👍1💯1
🚀 ویژگی setVisible در لاراول
در مدلهای Eloquent لاراول، گاهی میخواهیم تصمیم بگیریم که هنگام تبدیل مدل به JSON یا آرایه، کدام ویژگیها یا ستونها نمایش داده شوند. برای این کار، از
🔍 مثال:
🔐 توجه: این ویژگی تنها برای کنترل نمایش اطلاعات استفاده میشود و نباید به عنوان یک راهکار امنیتی محض در نظر گرفته شود.
#PapiDon
در مدلهای Eloquent لاراول، گاهی میخواهیم تصمیم بگیریم که هنگام تبدیل مدل به JSON یا آرایه، کدام ویژگیها یا ستونها نمایش داده شوند. برای این کار، از
setVisible استفاده میکنیم.🔍 مثال:
$user = App\Models\User::first();با استفاده از کد بالا، فقط
$user->setVisible(['first_name', 'last_name']);
first_name و last_name کاربر در خروجی نمایش داده میشود.🔐 توجه: این ویژگی تنها برای کنترل نمایش اطلاعات استفاده میشود و نباید به عنوان یک راهکار امنیتی محض در نظر گرفته شود.
#PapiDon
❤5👍2🎉1
کانال آموزشی لاراول
🚀 ویژگی setVisible در لاراول در مدلهای Eloquent لاراول، گاهی میخواهیم تصمیم بگیریم که هنگام تبدیل مدل به JSON یا آرایه، کدام ویژگیها یا ستونها نمایش داده شوند. برای این کار، از setVisible استفاده میکنیم. 🔍 مثال: $user = App\Models\User::first(); $user…
🔒 ویژگی setHidden در لاراول
در مدلهای Eloquent لاراول، مواقعی وجود دارد که میخواهیم بعضی از ویژگیها یا ستونها را هنگام تبدیل مدل به JSON یا آرایه، مخفی کنیم. برای این منظور، از
🔎 مثال:
در این مثال، ویژگیهای
📌 یادآوری: استفاده از
#PapiDon
در مدلهای Eloquent لاراول، مواقعی وجود دارد که میخواهیم بعضی از ویژگیها یا ستونها را هنگام تبدیل مدل به JSON یا آرایه، مخفی کنیم. برای این منظور، از
setHidden استفاده میکنیم.🔎 مثال:
$user = App\Models\User::first();
$user->setHidden(['password', 'remember_token']);
در این مثال، ویژگیهای
password و remember_token کاربر در خروجی نمایش داده نخواهد شد.📌 یادآوری: استفاده از
setHidden فقط برای مدیریت ویژگیهایی که در خروجی نمایش داده نمیشوند مناسب است و نباید به عنوان یک ابزار امنیتی به حساب آید.#PapiDon
👍6❤1
🔥Singleton Resource in Laravel 🔥
آیا تاکنون با مواردی روبرو شدهاید که فقط نیاز به یک نمونه منحصر به فرد از یک منبع داشتهاید؟ مثلا فقط یک پروفایل کاربری و نیازی به ایجاد یا ذخیرهسازی پروفایلهای جدید ندارید!
لاراول با ارائه
پیشنهاد میکنم حتما این ویژگی مفید را در پروژههای خود امتحان کنید! 🚀
#PapiDon
آیا تاکنون با مواردی روبرو شدهاید که فقط نیاز به یک نمونه منحصر به فرد از یک منبع داشتهاید؟ مثلا فقط یک پروفایل کاربری و نیازی به ایجاد یا ذخیرهسازی پروفایلهای جدید ندارید!
لاراول با ارائه
Route::singleton به شما این امکان را میدهد که مسیرهای مخصوص به یک منبع تکنمونه را تعریف کنید:Route::singleton('profile', ProfileController::class);
با استفاده از این دستور، لاراول تنها مسیرهای مناسب برای یک منبع تکنمونه را تعریف میکند و به شما اجازه میدهد که کد خود را سادهتر و موثرتر نگه دارید.پیشنهاد میکنم حتما این ویژگی مفید را در پروژههای خود امتحان کنید! 🚀
#PapiDon
👍10🔥1👏1
🖋 مفهوم Declarative و Imperative در برنامهنویسی 🖋
⚙️ برنامهنویسی فرمانی (Imperative):
- در این نوع برنامهنویسی، ما به سیستم دستور میدهیم که چطور یک کار را انجام دهد.
- هر گام از فرآیند به تفصیل مشخص شده است.
📌 مثال:
- در اینجا، ما فقط مشخص میکنیم چه چیزی را میخواهیم و سیستم خودش تصمیم میگیرد چگونه آن را انجام دهد.
- تاکید بر نتیجه نهایی است، نه روی روند اجرایی.
📌 مثال:
- ریکت (React): این کتابخانه جاوااسکریپت اعلامی است. شما فقط توصیف میکنید چگونه UI در وضعیت معینی باید باشد و ریکت مسئول بهروز رسانی است.
- لاراول (Laravel): چارچوب برنامهنویسی PHP که در بسیاری از جنبههایش اعلامی است، ولی همچنان میتواند در برخی قسمتها فرمانی باشد.
#PapiDon
⚙️ برنامهنویسی فرمانی (Imperative):
- در این نوع برنامهنویسی، ما به سیستم دستور میدهیم که چطور یک کار را انجام دهد.
- هر گام از فرآیند به تفصیل مشخص شده است.
📌 مثال:
let total = 0;💻 برنامهنویسی اعلامی (Declarative):
for(let i=0; i<array.length; i++) {
total += array[i];
}
- در اینجا، ما فقط مشخص میکنیم چه چیزی را میخواهیم و سیستم خودش تصمیم میگیرد چگونه آن را انجام دهد.
- تاکید بر نتیجه نهایی است، نه روی روند اجرایی.
📌 مثال:
const total = array.reduce((acc, val) => acc + val, 0);🔍 ریکت و لاراول جز کدام هستند؟
- ریکت (React): این کتابخانه جاوااسکریپت اعلامی است. شما فقط توصیف میکنید چگونه UI در وضعیت معینی باید باشد و ریکت مسئول بهروز رسانی است.
- لاراول (Laravel): چارچوب برنامهنویسی PHP که در بسیاری از جنبههایش اعلامی است، ولی همچنان میتواند در برخی قسمتها فرمانی باشد.
#PapiDon
❤8👍2👏2
🚀
📌 سه مدل داریم:
🧐 میخواهیم همه پستهایی که توسط کاربران یک کشور خاص منتشر شده است را پیدا کنید. اگر مستقیما بخواهیم این کار را انجام دهیم، باید ابتدا تمام کاربران آن کشور را پیدا کرده و سپس همه پستهای آنها را جمعآوری کنیم.
🎉 راهحل با
🚀 به راحتی میتوانیم تمام پستهای منتشر شده در یک کشور را پیدا کنیم
hasManyThrough📌 سه مدل داریم:
Country`، `User و Post. هر کاربر (User) در یک کشور (Country) زندگی میکند و هر کاربر میتواند چندین پست (Post) داشته باشد.🧐 میخواهیم همه پستهایی که توسط کاربران یک کشور خاص منتشر شده است را پیدا کنید. اگر مستقیما بخواهیم این کار را انجام دهیم، باید ابتدا تمام کاربران آن کشور را پیدا کرده و سپس همه پستهای آنها را جمعآوری کنیم.
🎉 راهحل با
hasManyThrough: با استفاده از این رابط، میتوانیم به طور مستقیم به پستهای مرتبط با کشور دسترسی پیدا کنیم، بدون نیاز به پیمایش کاربران.class Country extends Model
{
public function posts()
{
return $this->hasManyThrough(
Post::class,
User::class,
'country_id', // foreign key on User table
'user_id', // foreign key on Post table
'id', // local key on Country table
'id' // local key on User table
);
}
}
🚀 به راحتی میتوانیم تمام پستهای منتشر شده در یک کشور را پیدا کنیم
$posts = $country->posts;
👍13❤3
🌟 Your biggest risk isn't failing, it's getting too comfortable 🌟
📌 ممکن است فکر کنیم بزرگترین خطر وقتی است که شکست میخوریم. ولی در واقع، خطر واقعی زمانی رخ میدهد که در راحتی غرق میشویم. راحتی میتواند مانع رشد و پیشرفت ما شود. پس هرگز از تلاش و چالشهای جدید کوتاه نیایید، زیرا همین چالشها مسیر یادگیری و رشد شماست.
✨ به جلو بروید، چون راحتی موقتی است، اما یادگیری و رشد، برای همیشه.
#PapiDon
📌 ممکن است فکر کنیم بزرگترین خطر وقتی است که شکست میخوریم. ولی در واقع، خطر واقعی زمانی رخ میدهد که در راحتی غرق میشویم. راحتی میتواند مانع رشد و پیشرفت ما شود. پس هرگز از تلاش و چالشهای جدید کوتاه نیایید، زیرا همین چالشها مسیر یادگیری و رشد شماست.
✨ به جلو بروید، چون راحتی موقتی است، اما یادگیری و رشد، برای همیشه.
#PapiDon
❤9👍2🔥1👏1
🚀 map() with Collection
✨ استفاده از متد
دوستان عزیز، وقتی با کالکشنها کار میکنید، بارها نیاز پیدا میکنید که بر روی هر آیتم از کالکشن تغییراتی اعمال کنید. در اینجا متد
🔹 مثال:
1️⃣ متد ()map کالکشن اصلی را تغییر نمیدهد.
2️⃣ اگر میخواهید هم آیتم و هم کلید آن را استفاده کنید:
✨ استفاده از متد
()map در کالکشنهادوستان عزیز، وقتی با کالکشنها کار میکنید، بارها نیاز پیدا میکنید که بر روی هر آیتم از کالکشن تغییراتی اعمال کنید. در اینجا متد
()map به کمکتان میآید.🔹 مثال:
$numbers = collect([1, 2, 3, 4, 5]);
$squaredNumbers = $numbers->map(function ($number) {
return $number * $number;
});
// نتیجه: [1, 4, 9, 16, 25]
🔸 میتوانید حتی برای مدلها هم از این متد استفاده کنید:$users = User::all();
$fullNames = $users->map(function ($user) {
return $user->first_name . ' ' . $user->last_name;
});
📍 نکات مهم:1️⃣ متد ()map کالکشن اصلی را تغییر نمیدهد.
2️⃣ اگر میخواهید هم آیتم و هم کلید آن را استفاده کنید:
$items = collect(['a' => 1, 'b' => 2, 'c' => 3]);
$mapped = $items->map(function ($value, $key) {
return $key . '-' . ($value * 2);
});
// نتیجه: ['a-2', 'b-4', 'c-6']
#PapiDon❤14👍1
✨ Livewire v3 Has Been Released
لایووایر نسخه v3 منتشر شده است.
https://livewire.laravel.com/docs/quickstart
📌 استفاده از آلپاین
لایووایر v3 آلپاین را برای انجام کارهای سنگین بهرهبرداری میکند. با ثبت افزونههای آلپاین، لایووایر اکنون اجازه میدهد تا آلپاین انجام کارهای سنگین را انجام دهد.
این همچنین به این معناست که آلپاین اکنون به صورت پیشفرض با لایووایر گنجانده شده است، بنابراین نیازی به بارگذاری آلپاین از طریق CDN یا NPM نیست. به طور خودکار جاسازی شده است.
علاوه بر این، v3 از افزونه Morph آلپاین برای مقایسه DOM و اعمال بهروزرسانیها به جای morphdom استفاده میکند. این موجب کاهش مشکلات مقایسه DOM و همگامی بهتر بین لایووایر و آلپاین خواهد شد.
لایووایر نسخه v3 منتشر شده است.
https://livewire.laravel.com/docs/quickstart
📌 استفاده از آلپاین
لایووایر v3 آلپاین را برای انجام کارهای سنگین بهرهبرداری میکند. با ثبت افزونههای آلپاین، لایووایر اکنون اجازه میدهد تا آلپاین انجام کارهای سنگین را انجام دهد.
این همچنین به این معناست که آلپاین اکنون به صورت پیشفرض با لایووایر گنجانده شده است، بنابراین نیازی به بارگذاری آلپاین از طریق CDN یا NPM نیست. به طور خودکار جاسازی شده است.
علاوه بر این، v3 از افزونه Morph آلپاین برای مقایسه DOM و اعمال بهروزرسانیها به جای morphdom استفاده میکند. این موجب کاهش مشکلات مقایسه DOM و همگامی بهتر بین لایووایر و آلپاین خواهد شد.
👍9🔥1
🔹
این دستور اجازه میدهد تا دو یا چند ستون را در یک یا چند جدول با یکدیگر مقایسه کنید.
📜 تمام رکوردهایی که
🔸 استفاده از شرطهای مقایسهای:
📜 رکوردهایی را برگردانده که
🔸 مقایسه ستونها در دو جدول مختلف:
فرض کنید دو مدل
📜 در اینجا، کاربرانی که موجودی حساب آنها بیشتر از قیمت کل سفارشهایشان است، را پیدا میکنیم.
🔸 استفاده از چندین شرط در
📜 این کد، کاربرانی را مییابد که نام و نام خانوادگی یکسان دارند و تاریخ ایجاد قبل از تاریخ بروزرسانی است.
whereColumn in Laravelاین دستور اجازه میدهد تا دو یا چند ستون را در یک یا چند جدول با یکدیگر مقایسه کنید.
$records = YourModel::whereColumn('created_at', 'updated_at')->get();📜 تمام رکوردهایی که
created_at و updated_at آنها یکسان است را برمیگرداند.🔸 استفاده از شرطهای مقایسهای:
$records = YourModel::whereColumn('created_at', '<', 'updated_at')->get();📜 رکوردهایی را برگردانده که
created_at آنها قبل از updated_at است.🔸 مقایسه ستونها در دو جدول مختلف:
فرض کنید دو مدل
User و Order داریم:$users = User::join('orders', 'users.id', '=', 'orders.user_id')
->whereColumn('users.account_balance', '>', 'orders.total_price')
->get();📜 در اینجا، کاربرانی که موجودی حساب آنها بیشتر از قیمت کل سفارشهایشان است، را پیدا میکنیم.
🔸 استفاده از چندین شرط در
whereColumn :$users = User::whereColumn([
['first_name', '=', 'last_name'],
['created_at', '<', 'updated_at']
])->get();📜 این کد، کاربرانی را مییابد که نام و نام خانوادگی یکسان دارند و تاریخ ایجاد قبل از تاریخ بروزرسانی است.
👍14❤1
🚀 به زودی پلتفرم ما با آموزشهای جامعتر و گام به گام، همراه با مثالهای بیشتر و جزئی تر، آماده خواهد شد. تا از هر آنچه که میخواهید بیشتر و بهتر بدانید، لذت ببرید. 😊🫶
🔔 اطلاعرسانی مربوط به پلتفرم تنها در همین کانال انجام خواهد شد. 🌟🔥
#PapiDon
🔔 اطلاعرسانی مربوط به پلتفرم تنها در همین کانال انجام خواهد شد. 🌟🔥
#PapiDon
❤🔥16👍5❤1
🔍 مهارتهای اساسی غیرفنی (Soft Skills) برای برنامهنویسان 🔍
همگان میدانند که برنامهنویسان نیاز به مهارتهای فنی خاص خودشان دارند. اما آیا میدانید که مهارتهای غیرفنی نیز در موفقیت آنها نقش پررنگی دارد؟
🔹 1. ارتباط موثر: با مشتریان، تیم و مدیران.
🔹 2. حل مسئله: شناسایی و رفع چالشها.
🔹 3. یادگیری مداوم: با تغییرات فناوری همگام باشید.
🔹 4. کار گروهی: همکاری با افراد با تخصصهای متفاوت.
🔹 5. مدیریت زمان: اولویتبندی و انجام وظایف در زمان مقرر.
🔹 6. پذیرش نقد: استفاده از فیدبک برای بهبود.
🔹 7. مدیریت استرس: مقابله با فشارهای کاری.
🔹 8. رویکرد مشتریمدار: فهم و پاسخ به نیازهای مشتری.
🔹 9. تصمیمگیری: در مواقع حساس و ناخواسته.
🔹 10. مسئولیتپذیری: پذیرش خطاها و یادگیری از آنها.
🚀 هرگز فراموش نکنید که موفقیت در دنیای برنامهنویسی نه تنها به دانش فنی بستگی دارد، بلکه به تواناییهای انسانی و تعامل با دیگران نیز وابسته است.
#PapiDon
@PapiDon_state
همگان میدانند که برنامهنویسان نیاز به مهارتهای فنی خاص خودشان دارند. اما آیا میدانید که مهارتهای غیرفنی نیز در موفقیت آنها نقش پررنگی دارد؟
🔹 1. ارتباط موثر: با مشتریان، تیم و مدیران.
🔹 2. حل مسئله: شناسایی و رفع چالشها.
🔹 3. یادگیری مداوم: با تغییرات فناوری همگام باشید.
🔹 4. کار گروهی: همکاری با افراد با تخصصهای متفاوت.
🔹 5. مدیریت زمان: اولویتبندی و انجام وظایف در زمان مقرر.
🔹 6. پذیرش نقد: استفاده از فیدبک برای بهبود.
🔹 7. مدیریت استرس: مقابله با فشارهای کاری.
🔹 8. رویکرد مشتریمدار: فهم و پاسخ به نیازهای مشتری.
🔹 9. تصمیمگیری: در مواقع حساس و ناخواسته.
🔹 10. مسئولیتپذیری: پذیرش خطاها و یادگیری از آنها.
🚀 هرگز فراموش نکنید که موفقیت در دنیای برنامهنویسی نه تنها به دانش فنی بستگی دارد، بلکه به تواناییهای انسانی و تعامل با دیگران نیز وابسته است.
#PapiDon
@PapiDon_state
❤🔥4❤3👍2
🔍 آشنایی با سیستم LAMP
آیا تا به حال با این سوال روبرو شدهاید که LAMP چیست؟
🌐 What is LAMP ?
مخففی است از مجموعهای از نرمافزارهای متنباز که به صورت ترکیبی برای احداث و بهرهبرداری از وبسایتها و وباپلیکیشنها استفاده میشوند.
🔢 مولفههای LAMP:
1. L: Linux – سیستمعامل مبتنی بر لینوکس
2. A: Apache – وبسرور محبوب و متنباز
3. M: MySQL – پایگاه داده
4. P: PHP – زبان برنامهنویسی (گاهی به Perl یا Python هم میپردازند).
@PapiDon_state
آیا تا به حال با این سوال روبرو شدهاید که LAMP چیست؟
🌐 What is LAMP ?
مخففی است از مجموعهای از نرمافزارهای متنباز که به صورت ترکیبی برای احداث و بهرهبرداری از وبسایتها و وباپلیکیشنها استفاده میشوند.
🔢 مولفههای LAMP:
1. L: Linux – سیستمعامل مبتنی بر لینوکس
2. A: Apache – وبسرور محبوب و متنباز
3. M: MySQL – پایگاه داده
4. P: PHP – زبان برنامهنویسی (گاهی به Perl یا Python هم میپردازند).
@PapiDon_state
👍5❤🔥3
🔍
🎯 ماسک کردن بخشی از رشته با یک کاراکتر خاص (مانند
🔧 نحوه استفاده:
فرض کنید میخواهید چند کاراکتر از یک رشته را مخفی کنید، مثلاً ارقام وسط یک شماره کارت:
و اگر پارامتر دوم را ندهیم از کاراکتر پنجم به بعد رشته
@PapiDon_state
Str::mask()
امروز با شما یک تابع جالب در لاراول به نام ()Str::mask را مرور میکنیم.🎯 ماسک کردن بخشی از رشته با یک کاراکتر خاص (مانند
*).🔧 نحوه استفاده:
فرض کنید میخواهید چند کاراکتر از یک رشته را مخفی کنید، مثلاً ارقام وسط یک شماره کارت:
$card = Str::mask('1234567890123456', 5, 12);
// Result : 1234********3456
در این مثال، کاراکترهای پنجم تا دوازدهم رشته با * جایگزین شدهاند.و اگر پارامتر دوم را ندهیم از کاراکتر پنجم به بعد رشته
* جایگزین خواهد شد.@PapiDon_state
👍20❤3
✨Manage your energy, not your time. If you do that, time works itself out.✨
📌انرژی خود را مدیریت کن، نه زمانت را. اگر این کار را انجام دهی، زمان خود به خود درست میشود
⏳معمولا ما به فکر این هستیم که چگونه زمان خود را به صورت بهینهتری استفاده کنیم، اما اگر انرژیامان را به درستی مدیریت نکنیم، حتی اگر زمان زیادی داشته باشیم، بهرهبرداری مناسبی از آن نخواهیم داشت.
🔋 مدیریت انرژی به مواردی مانند استراحت، تغذیه مناسب، ورزش، روانشناسی و حتی محیط کار مرتبط است. وقتی انرژیامان را به خوبی مدیریت میکنیم، بهرهوری بیشتری خواهیم داشت و زمان خود را به صورت اثربخشتری استفاده میکنیم. از این رو، به جای اینکه تنها روی زمان متمرکز شویم، باید روی انرژیامان هم تمرکز داشته باشیم.
@PapiDon_state
📌انرژی خود را مدیریت کن، نه زمانت را. اگر این کار را انجام دهی، زمان خود به خود درست میشود
⏳معمولا ما به فکر این هستیم که چگونه زمان خود را به صورت بهینهتری استفاده کنیم، اما اگر انرژیامان را به درستی مدیریت نکنیم، حتی اگر زمان زیادی داشته باشیم، بهرهبرداری مناسبی از آن نخواهیم داشت.
🔋 مدیریت انرژی به مواردی مانند استراحت، تغذیه مناسب، ورزش، روانشناسی و حتی محیط کار مرتبط است. وقتی انرژیامان را به خوبی مدیریت میکنیم، بهرهوری بیشتری خواهیم داشت و زمان خود را به صورت اثربخشتری استفاده میکنیم. از این رو، به جای اینکه تنها روی زمان متمرکز شویم، باید روی انرژیامان هم تمرکز داشته باشیم.
@PapiDon_state
👍7❤2💯1
https://laravelpodcast.com/episodes
اگر علاقه دارید که اخبار، موضوعات جدید و کلا هرچیزی درباره دنیای لاراول رو در قالب پادکست بشنوید. اینجا رو حتما بهش یه سری بزنید. 🎙
📌@PapiDon_state
اگر علاقه دارید که اخبار، موضوعات جدید و کلا هرچیزی درباره دنیای لاراول رو در قالب پادکست بشنوید. اینجا رو حتما بهش یه سری بزنید. 🎙
📌@PapiDon_state
The Laravel Podcast
The Laravel Podcast | All Episodes
The Laravel Podcast brings you Laravel and PHP development news and discussion.
👍3
🔥 Laravel Octane 🔥
برای بهینه سازی پروژه های لاراول و افزایش سرعت آنها توسط تیم لاراول ارائه شده است. این پکیج برای رسیدن به چنین عملکردی از یکی از ابزار های Swoole یا RoadRunner (بعنوان Driver) به دلخواه کاربر استفاده میکند.
✅ مزایا:
1️⃣ سرعت بیشتر
2️⃣ همگامسازی کمتر
3️⃣ سازگاری با Laravel
❌ معایب:
1️⃣مشکلات Memory Leaks
2️⃣ چالشها در Stateful Environments
3️⃣ پیچیدگی تنظیمات
4️⃣ سازگاری با برخی افزونهها
🧐 مطالعه بیشتر :
🔗 https://laravel.com/docs/10.x/octane
📌@PapiDon_state
برای بهینه سازی پروژه های لاراول و افزایش سرعت آنها توسط تیم لاراول ارائه شده است. این پکیج برای رسیدن به چنین عملکردی از یکی از ابزار های Swoole یا RoadRunner (بعنوان Driver) به دلخواه کاربر استفاده میکند.
✅ مزایا:
1️⃣ سرعت بیشتر
2️⃣ همگامسازی کمتر
3️⃣ سازگاری با Laravel
❌ معایب:
1️⃣مشکلات Memory Leaks
2️⃣ چالشها در Stateful Environments
3️⃣ پیچیدگی تنظیمات
4️⃣ سازگاری با برخی افزونهها
🧐 مطالعه بیشتر :
🔗 https://laravel.com/docs/10.x/octane
📌@PapiDon_state
👍6❤🔥1
⚙️ Bun 1.0
✨یک ابزار همهکاره برای اجرا، ساخت، آزمون و اشکالزدایی جاوااسکریپت و تایپاسکریپت است، از یک فایل تا یک برنامه کامل.
🔹 هدف اصلی "Bun" حذف کندی و پیچیدگی در توسعه است، بدون اینکه ویژگیهای جاوااسکریپت را نادیده بگیرد.
🔹تا 4 برابر سریعتر از Node.js است و پشتیبانی کاملی از TypeScript و JSX دارد.
🔹 این ابزار دارای پلاگینها، APIهای خاص و یک مدیر بسته سریع است.
🔹 یک باندلکننده و فشردهساز جاوااسکریپت و تایپاسکریپت است.
🔗 https://bun.sh/blog/bun-v1.0
📌@PapiDon_state
✨یک ابزار همهکاره برای اجرا، ساخت، آزمون و اشکالزدایی جاوااسکریپت و تایپاسکریپت است، از یک فایل تا یک برنامه کامل.
🔹 هدف اصلی "Bun" حذف کندی و پیچیدگی در توسعه است، بدون اینکه ویژگیهای جاوااسکریپت را نادیده بگیرد.
🔹تا 4 برابر سریعتر از Node.js است و پشتیبانی کاملی از TypeScript و JSX دارد.
🔹 این ابزار دارای پلاگینها، APIهای خاص و یک مدیر بسته سریع است.
🔹 یک باندلکننده و فشردهساز جاوااسکریپت و تایپاسکریپت است.
🔗 https://bun.sh/blog/bun-v1.0
📌@PapiDon_state
👍3❤1
🚀 آشنایی با متد
متد
✨استفاده از
📌@PapiDon_state
sole در لاراولمتد
sole یک متد کمکی است که هم در کوئری بیلدر و هم در مجموعهها (collections) در لاراول موجود است. وقتی از این متد استفاده میکنید، انتظار دارید که فقط یک نتیجه با شرایط معین دریافت کنید. اگر فقط یک نتیجه باشد، آن را دریافت میکنید، ولی اگر بیش از یک نتیجه یا حتی هیچ نتیجهای وجود نداشته باشد، لاراول یک خطا به شما نمایش میدهد.✨استفاده از
sole در مجموعهها (collections):$collection = collect([1, 2, 3, 4]);در مثال بالا، متد
$item = $collection->filter(function ($value) {
return $value > 3;
})->sole();
filter یک مجموعه با مقدار 4 برمیگرداند. چون تنها یک مقدار با شرط داده شده وجود دارد، متد sole آن مقدار را برمیگرداند. در صورت وجود بیشتر یا کمتر از یک مقدار مطابقت داشته باشد، استثناء رخ میدهد.📌@PapiDon_state
❤11👏5
"It always seems impossible until it's done."
🌟همیشه چیزها غیرممکن به نظر میرسند تا زمانی که انجام شوند.
این جمله به ما یادآور میشود که حتی اگر چیزی دشوار یا غیرممکن به نظر بیاید، با تلاش و پشتکار، میتوان آن را به انجام رساند. بیایید با این انرژی و باور به توانمندیهای خود، روزمان را شروع کنیم.
📌@PapiDon_state
🌟همیشه چیزها غیرممکن به نظر میرسند تا زمانی که انجام شوند.
این جمله به ما یادآور میشود که حتی اگر چیزی دشوار یا غیرممکن به نظر بیاید، با تلاش و پشتکار، میتوان آن را به انجام رساند. بیایید با این انرژی و باور به توانمندیهای خود، روزمان را شروع کنیم.
📌@PapiDon_state
👍8❤1👏1
🚀 maatwebsite/excel in Larave
این پکیج، یک ابزار قدرتمند برای کار با فایلهای Excel در فریمورک لاراول است. این ابزار اجازه میدهد که به آسانی اطلاعات را از یک فایل Excel وارد و یا به آن خروجی دهید.
✨ ویژگیها:
1. وارد کردن اطلاعات با سرعت بالا
2. خروجی با فرمتهای مختلف مانند XLS, XLSX, CSV
3. امکان مپ کردن ستونهای فایل به مدلهای دیتابیس
4. پشتیبانی از معیارها و فیلترهای مختلف
🛠نحوه نصب:
برای نصب این پکیج کافی است دستور زیر را در ترمینال خود اجرا کنید:
📖 مستندات:
https://packagist.org/packages/maatwebsite/excel
📌@PapiDon_state
این پکیج، یک ابزار قدرتمند برای کار با فایلهای Excel در فریمورک لاراول است. این ابزار اجازه میدهد که به آسانی اطلاعات را از یک فایل Excel وارد و یا به آن خروجی دهید.
✨ ویژگیها:
1. وارد کردن اطلاعات با سرعت بالا
2. خروجی با فرمتهای مختلف مانند XLS, XLSX, CSV
3. امکان مپ کردن ستونهای فایل به مدلهای دیتابیس
4. پشتیبانی از معیارها و فیلترهای مختلف
🛠نحوه نصب:
برای نصب این پکیج کافی است دستور زیر را در ترمینال خود اجرا کنید:
composer require maatwebsite/excel📖 مستندات:
https://packagist.org/packages/maatwebsite/excel
📌@PapiDon_state
👍10❤1