ru
Feedback
| کانال توسعه‌دهندگان لاراول |

| کانال توسعه‌دهندگان لاراول |

Открыть в Telegram

⭕️ کانال توسعه‌دهندگان لاراول دولوپیکس 💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی 💎 @Developix 🚀 Developix.ir 📌 پشتیبانی و تبلیغات: @DevelopixSupport

Больше
686
Подписчики
+224 часа
+137 дней
+7030 день
Архив постов
💢 معرفی متد ()Str::mask از این متد برای ماسک کردن بخشی از یک رشته با یک کاراکتر خاص استفاده می‌شود (مثلا بخشی از شماره کارت،
💢 معرفی متد ()Str::mask از این متد برای ماسک کردن بخشی از یک رشته با یک کاراکتر خاص استفاده می‌شود (مثلا بخشی از شماره کارت، ایمیل و ... ). این متد در زمانی کاربرد دارد که می‌خواهیم اطلاعات حساسی را به کاربران بدون نمایش کامل اطلاعات نشان دهیم 🔺 مثال: فرض کنید نیاز دارید چند کاراکتر از یک ایمیل را مخفی کنید: $email = 'Maryam@gmail.com'; $maskedEmail = Str::mask($email, '*', 2, 4); Ma****@gmail.com - در خط دوم این مثال با استفاده از Str::mask از کاراکتر دوم تا چهار کاراکتر بعد آن با * جایگزین می‌شود. - اگر پارامتر آخر را ننویسیم از کاراکتر دوم تا آخر رشته ماسک می‌شود. 👤 Maryam 💎 Channel: @DevelopixLaravel

💢 آشنایی با متد FirstOrCreate از متد firstOrCreate در لاراول برای جستجو در جدول‌های دیتابیس استفاده می‌شود و اگر رکورد با وی
💢 آشنایی با متد FirstOrCreate از متد firstOrCreate در لاراول برای جستجو در جدول‌های دیتابیس استفاده می‌شود و اگر رکورد با ویژگی‌های مشخص یافت نشود، به طور خودکار یک رکورد جدید با آن ویژگی‌ها را ایجاد و ذخیره می‌کند. 🔍 بررسی عملکرد متد firstOrCreate: 1⃣ رکوردی را با معیارهای مشخص شده را جست و جو می‌کند. 2⃣ اگر رکورد مورد نظر پیدا شد، آن را برمی‌گرداند، در غیر این صورت اگر رکورد پیدا نشد یک رکورد جدید با معیارهای مشخص شده می‌سازد. 🔺 مثال: $article = Article::firstOrCreate( ['title' => 'Article Title'], ['content' => 'Content'] ); در این مثال اگر رکوردی با عنوان Article Title پیدا شد آن را برمی‌گرداند در غیر این صورت رکوردی با عنوان و محتوا ذکر شده به طور خودکار ساخته می‌شود. 👤 Maryam 💎 Channel: @DevelopixLaravel

دایناسورها در حال خرید در تهران 🤯 ⚡️هیچ‌وقت فکرشو میکردی که همچین تصویری رو ببینی؟ ⚡️از آینده به تو سلام 😁 💠این تصویر با استفاده از یک ابزار جدید در تلگرام ساخته شده که هر متنی بهش بدی رو تبدیل به عکس میکنه! همین‌الان بهش پبام بده تا عکسش رو برات بفرسته😇 فقط کافیه بزنی رو آیدی زیر و شروع کنی 😉👇🏻 @aiolearn_artbot 🌀هوش‌مصنوعی با پیشرفت فوق‌العادش داره همه دنیار رو فرا میگیره 😉🤯

برای رشد در مسیر طراحی رابط کاربری فقط با یادگیری فیگما یا سایر ابزار ها نتیجه نمیگیرید. شما باید مهارت ساخت پورتفولیو، مذاکر
برای رشد در مسیر طراحی رابط کاربری فقط با یادگیری فیگما یا سایر ابزار ها نتیجه نمیگیرید. شما باید مهارت ساخت پورتفولیو، مذاکره، اعتماد بنفس، شبکه سازی و... را برای برندسازی شخصی و نفوذ به بازار های بین المللی یاد بگیرید. حتی برای گرفتن پروژه های خوب و استخدام نیز به آن نیاز دارید. دوره جامع اموزش طراحی UI با فیگما میانبری به موفقیت در طراحی رابط کاربری 💥دوره جامع و پروژه محور + 5 پروژه واقعی 💥بیش از 60 ساعت آموزش 💥اقدام محور 💥منتورینگ شخصی، پُرسش و پاسخ نامحدود 💥جزوه رنگی و هدیه مکمل 💥شروع دوره بلافاصله بعد از خرید – در حال برگزاری  ۱,۴۲۱,۰۰۰ تومان ۷۲۱,۰۰۰ تومان برای شرکت در دوره پیام بدین یا از طریق سایت فوری ثبت نام کنید. 🚀 🤯ما 6 برابر هزینه دوره را یک ماه بعد از ثبت نامتان تضمین می کنیم و کنارتانیم تا به دست بیاورید. ظرفیت فقط 5 نفر @HosseinAslani3 https://hossein-aslani.com/product/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d9%81%db%8c%da%af%d9%85%d8%a7-%d8%a7%d8%b2-0-%d8%aa%d8%a7-100-%d8%a8%d9%87%d9%85%d8%b1%d8%a7%d9%87-5-%d9%be%d8%b1%d9%88%da%98%d9%87/

📌 اگر دنبال تبدیل شدن به یک برنامه‌نویس مطرح در دنیای فریلنسری و کسب درآمد بیشتر هستی، شرکت در این کارگاه رو از دست نده! 💻
📌 اگر دنبال تبدیل شدن به یک برنامه‌نویس مطرح در دنیای فریلنسری و کسب درآمد بیشتر هستی، شرکت در این کارگاه رو از دست نده! 💻 کارگاه تجارت بین‌المللی برای برنامه‌نویس‌ها؛ (فریلنسرینگ حرفه‌ای در مقیاس جهانی) 🗓 زمان: 30 شهریور تا 6 مهر 1402 حضوری و آنلاین (2 جلسه حضوری و 5 جلسۀ آنلاین) 📝 اطلاعات بیشتر و ثبت‌نام 🔻و یا برای کسب اطلاعات بیشتر کافیه به آی‌دی ما پیام بدی! 🆔 @MaktabSharif_Admin 🌐 وبسایت |📱کانال تلگرام | 📲 اینستاگرام

💢 آدرس‌های امضاء شده در لاراول فرض کنید یک سیستم خبرنامه دارید و کاربری درخواست لغو اشتراک خبرنامه را دارد، URL مربوطه می‌تواند به شکل زیر باشد: example.com/unsubscribe/4 وقتی کاربری این URL را باز می‌کند اشتراک خبرنامه کاربری با آیدی 4 لغو خواهد شد، حالا فرض کنید کاربری از روی عمد آیدی 4 را به 60 تغییر بدهد، در این صورت اشتراک خبرنامه کاربری با آیدی 60 هم بدون اطلاع خودش لغو خواهد شد. این سناریو می‌تواند به مرور باعث لغو اشتراک خبرنامه کلیه کاربران شود؛ یکی از ویژگی‌هایی که لاراول برای جلوگیری از این خراب‌کاری دارد، آدرس‌های امضاء شده است؛ با استفاده از URL های امضا شده، می‌توان تا حدودی از درخواست‌های ایجاد شده با URL های اصلاح شده و همچنین از خراب‌کاری‌های احتمالی جلوگیری کرد. 🔺ساختن یک Signed URL در مثال بالا فرض کردیم URL لغو اشتراک خبرنامه به شکل زیر است: example.com/unsubscribe/4 در نتیجه روت آن به این شکل خواهد بود: Route::get('unsubscribe/{user_id}', '...')->name('unsubscribe'); برای امضاء و امن کردن این URL باید از متد signedRoute که در کلاس URL قرار دارد استفاده کنیم: $url = URL::signedRoute('unsubscribe', ['user_id' => 1]); نتیجه کد بالا به شکل زیر خواهد داشت: example.com/unsubcribe/1/?signature=f834ed8570e05de6c50ad10bd6abcf71e9867fcb14bdf2670b4bf572ce346f3b و اگر کاربری این URL را تغییر داد به هیچ‌وجه معتبر نخواهد بود و می‌توان این‌گونه از خراب‌ کاری‌های احتمالی جلوگیری کرد؛ همچنین لازم به ذکر است که با متد temporarySignedRoute می‌توان یک تاریخ انقضاء برای URL مان مشخص کنیم و تعیین کنیم URL مربوطه تا چه زمانی می‌تواند معتبر باشد: $url = URL::temporarySignedRoute( 'unsubscribe', now()->addMinutes(60), ['user' => 1] ); 🔺 اعتبار سنجی‌ آدرس‌های امضاء شده برای اعتبار سنجی آدرس‌های مربوطه می‌توانید از متد hasValidSignature که در کلاس Request قرار دارد استفاده کنید و بررسی کنید که URL مربوطه معتبر است یا خیر: Route::get('unsubscribe/{user_id}/', function (Request $request) { if (! $request->hasValidSignature()) { abort(401); } // ... }); همچنین می‌توانید از میدل‌ور ValidateSignature استفاده کنید تا عملیات اعتبارسنجی خودکار انجام برای استفاده کردن از این میدل‌ور فقط کافی است که به فایل Kernel.php بروید و کد زیر را اضافه کنید: protected $routeMiddleware = [ 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, .... ]; و در نتیجه این میدلور را به روت‌تان اضافه کنید: Route::get('unsubscribe/{user_id}', '...')->name('unsubscribe')->middleware('signed'); از حالا به بعد این روت زمانی به درستی کار خواهد کرد که مقدار پارامتر signature معتبر باشید در غیر این صورت خطای 403 به کاربر نمایش داده می‌شود. 📍همچنین یک نمونه بسیار ساده از آدرس‌های امضاء شده در این مخزن ایجاد کرده‌ام که طبق نیاز می‌توانید آن را تغییر داده و استفاده کنید 🔗 اطلاعات بیشتر و داکیومنت مربوطه 👤 Maryam 💎 Channel: @DevelopixLaravel

💢 آموزش‌ View Composer یکی از نکاتی که باعث بهینه شدن پروژه می‌شود این است که درخواست‌های‌مان را به سمت سرور برای گرفتن اطلاعات از دیتابیس کم‌تر کنیم؛ موقعیتی را در نظر بگیرید که نیاز است یک سری اطلاعات از جدول مشخصی را به چندین ویو پاس بدهیم در این شرایط راحت‌ترین کاری که می‌شود کرد این است که در روت مربوط به همه ویو‌ها یک فانکشن ایجاد کنیم و برای هر کدام عمل کوئری انتخاب از دیتابیس را انجام دهیم و در نهایت داده دریافتی را به ویو‌های مربوطه Compact کنیم. در این شرایط علاوه بر ارسال درخواست تکراری به سمت دیتابیس ما با کدهای تکراری روبه‌رو هستیم که از بهینه و تمیز بودن کدها کم می‌کند؛ مورد دومی که شاید به ذهن‌تان برسد این است که یک متغیر پابلیک ایجاد کنیم و یک بار درخواست ارسال کنیم و چندین جا از آن استفاده کنیم ولی عیبی که این روش دارد این است که این متغیر داخل همه ویوها/کلاس‌هایی که نیاز به آن متغیر ندارند هم قابل دسترس است و نمی‌توان به راحتی مشخص کرد که به کدام ویو‌ها این متغیر ارسال شود. برای حل چنین عیب‌هایی می‌توان از View Composer ها استفاده کنیم با استفاده از این ویژگی لاراول می‌توانیم یک کلاس یا یک تابع Callback به پروژه‌ شناسایی کنیم و مشخص کنیم هر موقع یک View خاصی در حال رندر شدن بود آن کلاس یا تابع که به آن View Composer گفته می‌شود اجرا شود ( می‌توانید نتیجه اجرای ویو کامپوزر و ویوتان هم برای بهینه شدن بیشتر پروژه‌تان کش کنید تا LCP سایت‌تان کم‌تر هم شود ) 🔺نوشتن View Composer ویوکامپوزرها معمولا در Service Provider ها تعریف می‌شوند که بهتر است یک سرویس پرووایدر اختصاصی ایجاد کنیم و درنهایت آن را به لیست مربوطه اضافه کنیم، برای ایجاد یک سرویس پرووایدر اختصاصی از کد زیر استفاده کنید: php artisan make:provider ViewServiceProvider با زدن این دستور یک فایل با نام ViewServiceProvider در مسیر زیر ایجاد می‌شود: app/providers بعد از ساخت فایل مربوطه باید سرویس پرووایدر مان را به لاراول شناسایی کنیم برای این کار تنها کافی است که به فایل config/app.php برید و سرویس پرووایدر تان را به آرایه Providers اضافه کنید با این کار سرویس پرووایدر مربوطه به پروژه شناسایی می‌شود و وقت آن است که ویو کامپوزر دلخواه‌مان را ایجاد کنیم. 🔺ایجاد View Composer برای ایجاد یک ویو کامپوزر تنها کافی است به ViewServiceProvider که در مرحله قبلی ایجاد کردیم برویم و در متد boot این فایل از متد composer که در کلاس view قرار دارد استفاده کنیم: View::composer('header', funcation($view) { $Categories = Category::all(); $view->with([ 'category' => $Categories ]); }); 🔺بررسی کد بالا داخل پارامتر اول متد composer اسم ویو‌هایی که می‌خواهیم این دیتا را داشته باشند می‌نویسم لازم به ذکر است که می‌توان در این قسمت یک آرایه بنویسم و یا مشخص کنیم به کل ویو‌های یک پوشه این دیتا ارسال شود برای مثال: View::composer(['panel.*', 'users.header'], ... ) در پارامتر دوم هم مقادیری که باید به ویو‌های مربوطه ارسال شود را با with مشخص می‌کنیم، و درنهایت در ویو‌‌های مربوطه از آن‌ها استفاده می‌کنیم، صرفا با یک بار ارسال درخواست به سمت دیتابیس و عدم تکرار کد. 🔗 اطلاعات بیشتر و داکیومنت مربوطه 👤 Maryam 💎 Channel: @DevelopixLaravel

💢 معرفی پکیج Laravel Debugbar پکیج Debugbar لاراول توسط Barry vd. Heuvel ساخته شده است و به شما اجازه می‌دهد که تب‌هایی برای دیباگ کردن پروژه در حین کدنویسی داشته باشید تا روند دیباگ‌ کردن تان سریع‌تر و بهتر پیش برود‌. همچنین این پکیج اطلاعات مفیدی از جمله: زمان اجرای کوئری‌ها، کوئری‌های فراخوانی شده در هر درخواست، زمان اجرای رندر شدن پروژه، نمایش View های لود شده در هر روت، نمایش پارامتر‌های ورودی هر View و ... را به شما نشان می‌دهد. 📌 روش نصب پکیج Laravel Debugbar برای نصب این پکیج از طریق Composer ابتدا لازم است کد زیر را اجرا کنید: composer require barryvdh/laravel-debugbar سپس در فایل config/app.php و آرایه providers خط زیر را اضافه کنید:‌ 'Barryvdh\Debugbar\ServiceProvider', و در نهایت کد زیر را به آرایه aliases اضافه کنید ( البته اگر می‌خواهید Facade را اضافه کنید):‌ 'Debugbar' => 'Barryvdh\Debugbar\Facade', 📍 لازم به ذکر است که برای نمایش امکانات این پکیج لازم است که APP_DEBUG را در فایل env روی مقدار true تنظیم کرده باشید. 🔷 اطلاعات بیشتر و گیت‌هاب پکیج Laravel Debugbar 🔷 فیلم آموزشی کار با پکیج Laravel Debugbar 👤 Maryam 💎 Channel: @DevelopixLaravel

🔸به کمک تابع ()squish می‌توانید به‌سادگی تمام اسپیس های اضافی و غیرضروری را از یک متن حذف کنید. #String #Tip 👤 Mahdiyar 💎
🔸به کمک تابع
()squish
می‌توانید به‌سادگی تمام اسپیس های اضافی و غیرضروری را از یک متن حذف کنید. #String #Tip 👤 Mahdiyar 💎 Channel: @DevelopixLaravel

💢 دستورات پرکاربرد در Collection - قسمت اول 🔺 بررسی تکراری بودن آیتم‌ها متد duplicates آیتم‌هایی را نشون می‌دهد که در یک کا
💢 دستورات پرکاربرد در Collection - قسمت اول 🔺 بررسی تکراری بودن آیتم‌ها متد duplicates آیتم‌هایی را نشون می‌دهد که در یک کالکشن تکرار شده باشند. برای مثال در کالکشن زیر reza و ali تکرار شده‌اند و خروجی تابع duplicates روی آن برابر با ali و reza خواهد بود $collection = collect(['ali', 'reza', 'mohammad', 'ali', 'hassan', 'reza']); $collection->duplicates(); // [3 => 'ali', 5 => 'reza'] 🔺بررسی وجود یک key (کلید) خاص در یک کالکشن با متد has می‌توانید بررسی کنید که آیا یک کلید خاص در یک کالکشن وجود داره یا نه. خروجی این متد همیشه Boolean است $collection = collect([ 'team' => 'Real Madrid', 'color' => 'white', ]); $collection->has('rating'); // false $collection->has(['team', 'title']); // false $collection->has(['team', 'color']); // true 🔺فیلتر کردن آیتم‌ها آیتم‌های یک کالکشن را می‌توان با متد filter، فیلتر کرد. این متد یک تابع قبول می‌کند که در آن باید یک شرط را مشخص کنیم و این متد همه آیتم‌هایی را که برابر با شرط ما باشند را برمی‌گرداند $collection = collect([1, 2, 3, 4, 5, 6]); $even_numbers = $collection->filter(function ($value, $key) { return $value % 3 == 0; }); #collection 👤 Maryam 💎 Channel: @DevelopixLaravel

🔸در لاراول، به‌صورت پیشفرض اگر کسی تلاش کند به رکوردی که وجود ندارد درخواست ارسال کند، با ارور 404 مواجه خواهد شد، که شما بر
🔸در لاراول، به‌صورت پیشفرض اگر کسی تلاش کند به رکوردی که وجود ندارد درخواست ارسال کند، با ارور
404
مواجه خواهد شد، که شما برای بررسی و تغییر این ارور
404
به مقداری سفارشی‌سازی نیاز دارید. اما از نسخه ۸ لاراول به‌ بعد، شما می‌توانید به‌کمک تابع missing در فایل‌‌های Router، این سناریو را راحت‌تر هندل کنید. #Route #Tip 👤 Mahdiyar 💎 Channel: @DevelopixLaravel

#CleanCode 👤 A.l A 💎 Channel: @DevelopixLaravel
#CleanCode 👤 A.l A 💎 Channel: @DevelopixLaravel