Pishro App
149 subscribers
258 photos
50 videos
5 files
215 links
از دنیای صفر و یک



👨‍💻 @imanborumand_ir


Website: https://pishroapp.net
Download Telegram
Pishro App
🛸 خوب دوستانِ عزیز بدون شک با soft-deletes #لاراول آشنا هستین ‼️ حالا فرض کنید، تمام پست های یه کاربر رو بصورت soft حذف کردید و حالا میخواید بازیابی کنید بصورت زیر میتونید همه پست های مربوط به اون کاربر رو بصورت یکجا بازیابی کنید Post::onlyTrashed()->w…
⭕️ دوستان #لاراول 11.22 منتشر شد

تو این نسخه، یه ویژگی جدید به نام رابطه "inverse/chaperone" توی Eloquent معرفی شد.

💫 این ویژگی به نحوی عمل می‌کنه که از بروز N+1 queries ناخواسته در روابط بین مدل‌ها جلوگیری می‌کنه.


فرض کنید شما یک مدل پست (Post) و یک مدل کامنت (Comment) دارید. رابطه بین این دو مدل به این صورته که هر پست میتونه چندین کامنت داشته باشه.

توی لاراول، معمولاً این رابطه را بصورت زیر تعریف میکنیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class);
}


حالا با این قابلیت جدید chaperone()، میشه رابطه را اینطور بنویسیم:
public function comments(): HasMany
{
    return $this->hasMany(Comment::class)->chaperone('post');
}


💫 خوب اما چه اتفاقی می افته؟

با استفاده از chaperone('post')، لاراول به‌طور خودکار اطمینان پیدا میکنه که وقتی رابطه کامنت‌ها از دیتابیس لود میشه، هر کامنت به درستی به مدل پست اصلی‌اش لینک شده باشه.
این کار باعث می‌شه که کوئری‌های اضافه (N+1 Queries) ایجاد نشه و سرعت و کارایی برنامه بهبود پیدا میکنه.

💣بطور خلاصه، این متد باعث می‌شه لاراول بهتر متوجه بشه که هر کامنت به کدوم پست تعلق داره و همه چیز بهینه‌تر اجرا میشه.


مزایای این متد:

جلوگیری از کوئری‌های اضافی (N+1)

لینک خودکار مدل فرزند به مدل والد

حفظ صحیح محدودیت‌ها (Scopes)

#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ کاربرهای #لینکدین چطوری شغل هاشون رو معرفی میکنند؟

#fun

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍2
Pishro App
🔰 ایمیل‌های بین آی‌آر لیکس و آرش بابایی (مدیرعامل شرکت توسن) که توسط شخص ثالث به‌دست آمده، با CyberScoop به اشتراک گذاشته شده و توسط منبع جداگانه‌ای آشنا به این موضوع تأیید شده است، دو طرف را در حال مذاکره برای پرداخت از ۸ آگوست نشان می‌دهد. توسن ۱ بیت کوین…
🔰 آیا دسترسی هکرها به داده‌های بیست بانک ایرانی پس از باج خواهی محدود شده است؟

پس از افشای ایمیل‌های تبادل شده بین شرکت توسن و آی‌آرلیکس که نشان دهنده پرداخت باج است، فشارها بر توسن افزایش یافته است.

  گزارش‌های رسیده به افتانا حاکی از آن است که دسترسی هکرها به داده‌های بیست بانک مشتری شرکت توسن فراتر از مواردی است که اعلام شده و به‌نظر می‌رسد که همچنان بخشی از سامانه بانک‌ها در اختیار هکرهاست و دسترسی آن‌ها هنوز قطع نشده است.
این مورد یادآور هک شدن سامانه‌های شهرداری تهران است که تا مدت‌ها مدیران سامانه‌ها امکان دسترسی به‌ آن‌ها را نداشتند تا آنکه نهایتا سامانه تهران من نیز هیچگاه به وضعیت عملیاتی نخستین خود بازنگشت و شهرداری تهران آن را کاملا کنار گذاشت.

تاکنون  هیچ بیانیه رسمی از جانب شرکت توسن، بانک مرکزی، مرکز افتا و یا بانک‌های آسیب‌دیده منتشر نشده است.

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🌚1
Pishro App
⭕️ دوستان #لاراول 11.22 منتشر شد تو این نسخه، یه ویژگی جدید به نام رابطه "inverse/chaperone" توی Eloquent معرفی شد. 💫 این ویژگی به نحوی عمل می‌کنه که از بروز N+1 queries ناخواسته در روابط بین مدل‌ها جلوگیری می‌کنه. فرض کنید شما یک مدل پست (Post) و یک مدل…
🔥 دوستان یه قابلیت جدید دیگه که تو #لاراول 11.22 معرفی شد اینه که میتونید مستقیما BackedEnum رو به متدهای domain() و name() توی روتینگ پاس بدین

قبلا باید به این صورت مقدار Enum رو پاس میدادین:

Route::domain(InterfaceDomain::Marketing->value)
->name(Routes::Home->value)
->get('/contact', ContactController::class);


🧠 و تو این نسخه به این صورت شده:

Route::domain(InterfaceDomain::Marketing)
->name(Routes::Home)
->get('/contact', ContactController::class);

#laravel


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
-اصل Don't Repeat Yourself در کلین کد

تو یه تعریف ساده این اصل میگه که نباید بخش های تکراری تو کدت داشته باشی

مثلا اگه یه الگوریتم داری که میاد و بین هر سه رقم یه قیمت کاما میزاره نیای کپیش کنی هرجا که نیاز بود استفادش کنی!

چون اینجوری هر تغییری تو الگوریتم نیاز باشه باید همه جا تک تک عوضش کنی از طرفی کدت شلوغ تر میشه

‼️ راه بهتر اینه که بیای و اون کد رو توی تابع مجزا قرار بدی و هرجا نیاز بود تابع رو صدا بزنی

#clean_code


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
‼️ انواع مختلف رندرینگ (Rendering) برای تولید صفحات وب در Next.js


🔥 رندرینگ سمت سرور (Server-Side Rendering یا SSR)

🔹 در این نوع رندرینگ، صفحه در هر بار درخواست کاربر به صورت پویا در سمت سرور رندر می‌شود. نتیجه به عنوان HTML به کاربر ارسال می‌شود. SSR به بهبود SEO و زمان بارگذاری اولیه کمک می‌کند، زیرا محتوا قبل از رسیدن به مرورگر آماده است.
🔄 کاربرد: زمانی که نیاز به دریافت داده‌ های پویا در لحظه و بهینه‌سازی SEO دارید.

🔥 رندرینگ استاتیک (Static Site Generation یا SSG)

🔹در این نوع رندرینگ، صفحات در زمان build تولید می‌شوند و به صورت استاتیک به سرور ارائه می‌شوند. این روش منجر به بارگذاری سریع‌ تر صفحات می‌شود، زیرا صفحات از قبل آماده هستند و نیازی به رندر سمت سرور در هر درخواست ندارند.
🔄 کاربرد: برای صفحات با محتوای ثابت یا به ندرت تغییر یافته که نیاز به زمان بارگذاری سریع دارند.


🔥 رندر استاتیک با ایجاد تدریجی (Incremental Static Regeneration یا ISR)

🔹 این قابلیت ترکیبی از SSG و SSR است. صفحات در زمان build به صورت استاتیک تولید می‌شوند، اما می‌توان آنها را به صورت پویا با فاصله‌ های زمانی مشخصی به‌روزرسانی کرد. با این روش، صفحه‌ ای که توسط کاربر دیده می‌شود همچنان استاتیک است، اما در پس‌زمینه داده‌ ها بروز رسانی می‌شوند.
🔄 کاربرد: برای صفحاتی که بیشتر استاتیک هستند اما گهگاه نیاز به بروز رسانی دارند.

🔥 رندرینگ سمت کلاینت (Client-Side Rendering یا CSR)

🔹در این نوع رندرینگ، صفحه ابتدا به صورت پایه‌ ای (HTML خالی) به کاربر ارسال می‌شود و سپس محتوای پویا در سمت کلاینت (مرورگر) با استفاده از جاوااسکریپت بارگذاری می‌شود. این رویکرد شبیه به شیوه‌ های رایج در React و SPA است.
🔄 کاربرد: برای صفحاتی که نیاز به تعامل زیاد با کاربر دارند و محتوای آن‌ها می‌تواند در سمت کلاینت بارگذاری شود.

#next #react #front

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
21
کدوم دستور برای محدود کردن میزان استفاده از CPU و RAM در هنگام اجرای یک کانتینر Docker استفاده می‌شه؟
Anonymous Quiz
10%
⚪️docker run --cpu-shares --memory
15%
⚪️docker run --cpus --memory
60%
⚪️docker run --cpu-limit --ram-limit
15%
⚪️docker run --cpu --ram
روزتون مبارک بچه ها👨‍💻

امیدوارم کدهاتون بی باگ
و کارفرماتون مثل خودتون با معرفت باشه😍


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😍4👍21
💡بچه ها یکی از تکنیک های جذاب توی #داکر multi-stage builds هست، این تکنیک برای #بهینه‌سازی سایز و عملکرد ایمیج‌ها است.

🔥 با استفاده از این قابلیت، می‌توان توی یه Dockerfile چندین مرحله (stage) تعریف کرد.

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

💡 این کار باعث میشه ایمیج‌های نهایی فوق‌العاده سبک باشن و سریع‌تر بارگذاری و اجرا بشن.

مثلاً وقتی داری یه اپلیکیشن #Go یا Node.js می‌سازی، می‌تونی توی مرحله اول کدها رو #کامپایل کنی و توی مرحله دوم فقط فایل اجرایی نهایی رو بریزی، بدون اینکه وابستگی‌های اضافی مثل ابزارهای ساخت توی ایمیج نهایی بمونن.

💼 این کار هم امنیت رو افزایش می‌ده (چون هیچ ابزار ساختی توی ایمیج نهایی نیست) و هم مصرف منابع رو به شدت کاهش می‌ده.

این بهینه‌سازی برای پروژه‌های واقعی با حجم بالا خیلی خفن و کاربردیه

#docker

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔰 موج جدید اتحادیه اروپا برای کنترل چت‌ها: آیا سرویس‌های پیام‌رسان در اروپا مسدود خواهند شد؟

روز دوشنبه، نسخه جدیدی از لایحه بی‌سابقه جهانی اتحادیه اروپا با هدف جستجوی تمام پیام‌ها و چت‌های خصوصی برای محتوای مشکوک (به اصطلاح کنترل چت یا مقررات سوء استفاده جنسی از کودکان) منتشر شد و کمی بعد توسط POLITICO فاش شد.

طبق آخرین پیشنهاد، ارائه دهندگان آزاد خواهند بود که از "هوش مصنوعی" برای طبقه بندی تصاویر و چت‌های متنی ناشناخته به عنوان "مشکوک" استفاده کنند.
با این حال، آنها موظفند تمام چت‌ها را برای محتوای غیرقانونی شناخته شده جستجو کنند و آنها را گزارش دهند، حتی به قیمت شکستن رمزگذاری ایمن end-to-end پیام‌رسان.
دولت‌های اتحادیه اروپا تا 23 سپتامبر باید موضع خود را در مورد این پیشنهاد اتخاذ کنند و وزرای کشور اتحادیه اروپا نیز تا 10 اکتبر باید آن را تأیید کنند.
ارائه دهندگان پیام‌رسان Signal و Threema قبلاً اعلام کرده‌اند که هرگز موافقت نخواهند کرد که چنین روال‌های نظارتی را در برنامه‌های خود ادغام کنند و ترجیح می‌دهند فعالیت خود را در اتحادیه اروپا تعطیل کنند.
منبع
👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Pishro App
🔥 دوستان یه قابلیت جدید دیگه که تو #لاراول 11.22 معرفی شد اینه که میتونید مستقیما BackedEnum رو به متدهای domain() و name() توی روتینگ پاس بدین قبلا باید به این صورت مقدار Enum رو پاس میدادین: Route::domain(InterfaceDomain::Marketing->value) ->name(Routes::Home…
‼️ میدونیم که توی #لاراول بصورت پیشفرض فیلدهای created_at و updated_at برای ذخیره سازی زمان ایجاد و بروزرسانی ردیف های جداول هستند

اما خوب ممکنه شما بخواید به دلایلی از اسامی دیگه ای استفاده کنید، مثلا به جای created_at از create_time استفاده کنید

❤️ میتونید ثوابت زیر توی مدل تعریف و نام مورد نظر خودتون رو جایگزین کنید

class Role extends Model
{
const CREATED_AT = 'create_time';
const UPDATED_AT = 'update_time';
}


#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🛸 بچه ها میخام یه مسابقه به مناسبت روز برنامه نویس(هرچند میدونم با تاخیر) بزارم

جایزه نفر برتر هم یک میلیون تومان هست موافق هستید؟ ⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️
Anonymous Poll
90%
بله
10%
خیر
102🔥2
Pishro App pinned «🛸 بچه ها میخام یه مسابقه به مناسبت روز برنامه نویس(هرچند میدونم با تاخیر) بزارم

جایزه نفر برتر هم یک میلیون تومان هست موافق هستید؟ ⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️
»
گربه شرودینگر، منطق بولین، منطق سه‌گانه

ما برنامه‌نویس‌ها و جامعه ICT به قدری با منطق دوگانه یا بولین درگیر هستیم که فراموش می‌کنیم منطق دنیای واقعی پیچیده‌تر از منطق بولین است.

منطق بولین

منطق بولین، بنیادی‌ترین نوع منطق در ریاضیات و علوم کامپیوتری است. این منطق از دو وضعیت اصلی (درست و نادرست) استفاده می‌کند و از ناپایداری حالات بیشتر پرهیز می‌کند. از نظر نمادین، درست با ۱ و نادرست با ۰ نشان داده می‌شود. منطق بولین در طراحی مدارهای منطقی، برنامه‌نویسی و تجزیه و تحلیل داده‌ها کاربردهای فراوانی دارد.

منطق سه‌گانه

منطق سه‌گانه (Ternary Logic) با اضافه کردن یک ارزش منطقی سومی به سیستم، پیچیدگی بیشتری را به منطق بولین اضافه می‌کند. این ارزش سومی معمولاً به‌عنوان «نامعین» (Unknown) مطرح می‌شود. منطق سه‌گانه می‌تواند شرایطی را که در آن‌ها حقیقت مسلم نیست، بهتر توصیف کند.

در دنیای واقعی، این منطق کاربردی‌تر است، زیرا اشراف و دانش ما به محیط اطراف و واقعیت‌ها محدود است و در بسیاری از موارد، ارزش یک گزاره «نمی‌دانم» است.

نظریه گربه شرودینگر

نظریه گربه شرودینگر، یک پدیده فکری در فیزیک کوانتومی است. این نظریه با فرض وجود یک گربه در یک جعبه بسته مرتبط است. گربه تحت تأثیر یک وضعیت کوانتومی قرار دارد که می‌تواند همزمان «زنده» و «مرده» باشد. گربه در حالت «متوازن» (یعنی هم زنده و هم مرده) قرار دارد تا زمانی که مشاهده‌ای صورت گیرد.

فرق حالت سوم منطق سه‌گانه با نظریه گربه شرودینگر در این است که در منطق سه‌گانه، ما این را در نظر می‌گیریم که یک واقعیت وجود دارد؛ گربه یا زنده است یا مرده، و قبل از باز کردن درب جعبه، ما دانشی در این زمینه نداریم. با باز شدن جعبه، واقعیت تغییر نمی‌کند، بلکه ما از وضعیت گربه مطلع می‌شویم.

اما در نظریه گربه شرودینگر، واقعیت این است که گربه هم زنده است و هم مرده و با باز شدن جعبه، ما به‌عنوان مشاهده‌گر بر زنده بودن یا نبودن گربه تأثیر می‌گذاریم؛ یعنی واقعیت از مشاهده‌گر تأثیر می‌گیرد.

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

پس بیایید این مفاهیم را به‌درستی و به‌جا استفاده کنیم.srfirouzi_channel


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
سال 1990 بود که HTML به دنیا معرفی شد

در سال 1994 عزیز دل CSS به جهان معرفی شد تا دردسرهای HTML را حل کنند و عملا مشکلات HTML حل شود

در سال 1995 باز دیدن روی وب هیچ کاری نمیشه کرد، لذا JavaScript متولد شد

در سال 2006 باز با به دنیا آمدن JQuery توانستند جلوی خودکشی برنامه نویسها را بگیرند وگرنه اون 3 تا داشتند ملت را دیوانه میکردند

در سال 2010 باز Web Developer ها در نزدیکی سکته بودند که Angular JS به بازار آمد تا اندکی از میزان درد و خونریزی کاسته شود

در سال 2013 کل آنچه گفتیم تا الان بدرد نخور شده بود، لذا React به بازار آمد بلکی باهاش بشود اندکی درست کار کرد

در سال 2014 بود که Vuejs آمد چون ملت از React هم خسته شده بودند

در سال 2016 یکدفعه Angular به بازار عرضه شد و ملت مسلمان و غیر مسلمان با خود گفتند : اینه !. دیگه خلاص شد - این آخرین فریم ورک و تمام کننده همه چیز است، برای همیشه راحت شدیم

در سال 2017 آمدند WASM را آوردند بلکه مشکلات سرعت و امنیت و منابع و سختی یادگیری و ... را که همه موارد بالا برای بشریت درست کرده بودند را حل کنند !

در سال 2019 باز svelte آمد ، شاید که بتوان بی دردسر در Front کار کردن اندکی واقعی شود

باز در همان 2019 ، دیدن نمیشه که یکسری از بالاییها را بندازند سطل آشغال که، لذا React Hooks آمد تا کار کردن با React امکان پذیر بماند

باز در 2020 ، Vue Composition آمد تا اگر کسی دید React Hooks نمی تواند جواب باشد، از طریق آن و در فریم ورک دیگر مشکلاتش را حل کند

در 2020 ، سعی شد با HTMX هم تلاشهایی بشود بلکی مشکلات همه اینها یک طوری حل شود

در 2021 ، باز React Suspense را آوردند، باشد که بتواند با React و داسئانهایش ادامه داد

در 2023 هم svelte Runes آمد تا گند کاریهای svelte لاپوشانی شود

هم اکنون در 2024 ، همچنان JQuery در 75 درصد از بسترهای وب مورد استفاده می باشد و بقیه هم فقط در حال افزایش پیچیدکی و دردسر هستند !!DevTwitter

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
3
💧 آموزش استفاده از #Nginx به عنوان پراکسی معکوس (Reverse Proxy)


💜 پراکسی معکوس به‌عنوان واسطه‌ای بین کاربران و سرورها عمل می‌کند. در حالی که یک پراکسی معمولی درخواست‌های مشتری را به اینترنت ارسال می‌کند، پراکسی معکوس درخواست‌ها را از اینترنت به سرورهای پس‌زمینه منتقل می‌کند.

درک چگونگی استفاده از Nginx به‌عنوان یک پراکسی معکوس می‌تواند عملکرد خدمات را به‌طور چشمگیری بهینه کند و مدیریت سیستم را بهبود بخشد.


➡️ https://pishroapp.net/article/165



👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍1
😁 داشتم یه مقاله در مورد اینکه کدوم #سیستم_عامل برای توسعه مناسب تره میخوندم به این تصویر برخوردم


جالب بود در نوع خودش 😁


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
😁41
🔰بهترین وب‌سایت ها برای دسترسی به عکس های PNG

انتخاب بهترین وبسایت برای دانلود عکس های PNG به نیاز و سلیقه شما بستگی داره. با این حال، در اینجا چند مورد از محبوب ترین و معتبرترین گزینه ها رو به شما معرفی خواهم کرد: منبع: studio_amozesh


▪️ Stickpng.com
▫️ Totalpng.com
▪️ pngmart.com
▫️ Pngall.com
▪️ Pngwing.com
▫️ Cleanpng.com
▪️ Pngegg.com
▫️ Pngtree.com

#معرفی_سایت


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Pishro App
🛸 بچه ها میخام یه مسابقه به مناسبت روز برنامه نویس(هرچند میدونم با تاخیر) بزارم

جایزه نفر برتر هم یک میلیون تومان هست موافق هستید؟ ⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️
بچه ها #مسابقه از این قراره

میزکارِ من

⚡️ شما تصاویر میزکارتون رو میفرستید و بعد بین تصاویر ارسالی، بهترین میزکار(از لحاظ جذابیت، شیک بودن، تمیزبودن) به نظرسنجی گذاشته میشه و توسط کاربران بهترین میزکار انتخاب میشه


من باید یه ربات برای ارسال تصاویر آماده کنم که باتوجه به اینکه سرم شلوغه یه چند روز طول میکشه پس تا اون موقع یه تصویر زیبا از میزکارتون داشته باشید😁

جایزه ی نفر اول هم یک میلیون تومان هست همونطور که گفتم


👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
📱 نمره بالای هوش مصنوعی جدید OpenAI در تست IQ

📑 یه شبکه عصبی جدید به اسم o1 از OpenAI ساخته شده که اخیراً توی ChatGPT 4.0 و یک بات دیگه هم ادغام شده. این هوش مصنوعی توی تست IQ عملکرد خیره‌کننده‌ای داشته و تونسته به 25 تا از 35 سؤال درست جواب بده، حتی بهتر از خیلی از نتایج انسانی!

▪️این تست با همکاری اعضای Mensa (جامعه‌ای از افرادی با IQ بالا) طراحی شده و سؤال‌ها هم کاملاً جدید بودن، یعنی o1 از قبل آموزشی درباره‌شون ندیده بود، که این کار رو جذاب‌تر می‌کنه. RoidBest

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Pishro App
‼️ میدونیم که توی #لاراول بصورت پیشفرض فیلدهای created_at و updated_at برای ذخیره سازی زمان ایجاد و بروزرسانی ردیف های جداول هستند اما خوب ممکنه شما بخواید به دلایلی از اسامی دیگه ای استفاده کنید، مثلا به جای created_at از create_time استفاده کنید ❤️ میتونید…
🔥گاهی تو #لاراول میخواید یه فیلد بعد از ذخیره دیگه قابل ویرایش نباشه

شما میتونید از طریق مدل اینکار رو انجام بدین

🔥 فرض کنید میخاید قابلیت بروزرسانی ایمیل کاربر رو مسدود کنید، اینکار رو میتونید بصورت زیر انجام بدین:

🔘لاراول بالاتر از ۹

use Illuminate\Database\Eloquent\Casts\Attribute;
 
class User extends Model
{
protected function email(): Attribute
{
return Attribute::make(
set: fn ($value, $attributes) => $attributes['email'] ?? $value,
);
}
}

🔘لاراول کمتر از ۹
class User extends Model
{
public function setEmailAttribute($value)
{
if (isset($this->attributes['email']) && ! is_null($this->attributes['email'])) {
return;
}
$this->attributes['email'] = $value;
}
}

⚡️ توی این روش اگر اشتباهاً جایی هم بخواید ایمیل رو در طول توسعه بروز کنید مانع میشه.

#laravel

👾 @pishroapp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21