Golden Code – Telegram
Golden Code
737 subscribers
53 photos
248 links
نکات laravel, php و...
Download Telegram
"اگه نیاز داشتین که چند کلمه ی اول از یک متن رو که از دیتابیس دریافت شده نمایش بدین میتونید خیلی راحت با استفاده از متود words این کارو انجام بدید ،مثال:
str($denoscription)->words(20);
الان همونطور که مشخص کردیم میره فقط ۲۰ کلمه ی اول رو از denoscription$ میگیره"
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/PovilasKorop/status/1775097098364403845?t=CVFfcHZGVvv44YfXGanlYg&s=19
🔥5👍2
ممکنه بخوایم مطمئن شیم که یه کالکشن، اون آیتم مدنظرمون رو بطور یکتا داره یا نه.
درین شرایط بجای استفاده از متود ()count میتونیم از ()containsOneItem هم استفاده کنیم.
حالا چجوری کار میکنه؟

اگه تعداد اون آیتم مدنظرمون در کالکشن ، بیشتر از یه دونه باشه پاسخ false میشه، اگر فقط یکی از اون آیتم باشه پاسخ true میشه.🪴🌴
(یه مثال از کاربردش در مبحث سطوح دسترسی میتونه باشه.)
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/OussamaMater/status/1774534728713908404?t=53_Nco2oPHG1m4gBU75WmQ&s=35
👍4
با استفاده از متود ()except میتونیم یک عنصر یا یه آرایه رو از دیتای session حذف کنیم،
حالا کجاها کاربرد داره؟
یه جاهایی ممکنه فقط پسورد رو نخوایم بفرستیم(بنا بر دلایل امنیتی)، خب اینجور جاها خیلی این متود کاربرد داره...
در مثال زیر وقتی خروجی بگیریم، name حذف شده (همونطور که تعیین کرده) و باقیه اطلاعات موجود خواهند بود
@GoldenCodeir
(به منبع و مثالش دقت کنین 👇🏾)
https://x.com/iamgurmandeep/status/1745407710492016867?t=p4n1JqewzD5lrq9rusl8Xg&s=35
👍41
در لاراول ۱۱ اگه قصد داشته باشین با آرایه های چند بعدی کار کنین علاوه بر همون هلپر collect که از ورژن های پیشین در اختیارتون بود میتونین از هلپر fluent هم استفاده کنین.
کار با هلپر fluent نسبت به collect میشه گفت راحت تره(از لحاظ دسترسی به دیتای آرایه) به مثال توجه کنین و تفاوت واضح fluent و collect رو مشاهده کنین...🪴🌴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/MilwadDev/status/1775618875473727968?t=WgqvC-fxB0RDgC-v4NI9yg&s=35
👍7🔥3
در نسخه ۱۱ لاراول اگه نیاز به بررسی دیتای session داشته باشیم میتونیم خیلی راحت با متود ()hasAny عملیات مربوطه رو انجام بدیم...✔️
مستقیم با یک hasAny میتونیم آیتم های مدنظرُ مشخص کنیم(نیازی به کدای تکراری نیست) خودش متوجه میشه هرکدوم از آیتم ها که true شد باید عملیات مربوطه انجام شه🪴🌴

ما کافیه آیتم های مدنظرمونو بصورت آرایه مشخص کنیم
@GoldenCodeir
به منبع و مثالش توجه کنین👇🏾
https://twitter.com/MilwadDev/status/1776754258525704363?t=DEOQFvK89Eh058peKNTlmQ&s=19
👍5🔥1
از عبارت match میتونیم برای پیاده سازیه منطق های شرطیه تمیز تر بهره ببریم.
در مثال زیر، اگه مقدار status$ با هیچکدوم از الگو هایی که داریم مطابقت نداشته باشه همون حالت دیفالت اجرا خواهد شد .
این عبارت از نسخه ۸ php در دسترسه.🪴🌴
@GoldenCodeir
(پیچیدگیه خاصی هم نداره،به منبع و مثالش توجه کنین👇🏾)
https://x.com/laravelbackpack/status/1777660236398244260?t=LpLUOgmUyjt-sY58J0d3cw&s=35
👍7🔥2
در php این قابلیت در اختیارمون هست که حتی از ()str_replace جهته جایگزین کردنه چندین رشته در یه جمله استفاده کنیم.
اگر ترتیب رو در آرایه اشتباه وارد کنیم ،خروجی هم تحت تاثیر اشتباه قرار میگیره پس باید به ترتیبشون توجه داشت!🪴🌴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/PovilasKorop/status/1775131825788112926?t=sAYUqvuOnFg0ZgdrDdruKg&s=35
3👍1🔥1
"احتمالن میدونین کوئری هایی که نیاز به بررسی ستون هایی با جنس string دارن همیشه از ستون های integer کند ترن. (حتی زمانی که index میشن)‌.

برای جدولای بزرگتر، استفاده از integer در دیتابیس و نمایششون با استفاده از enum های استاندارد در کد میتونه تفاوت واضحی در عملکرد ایجاد کنه برامون.✔️

بطور خلاصه استفاده از enum علاوه بر تاثیر مثبت بر clean code در بهبود سرعت کوئری هم تاثیرش رو میزاره"🪴🌴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/mattkingshott/status/1768275896882868533?t=zHeJDy1eF7ZPiqpDu4vX3Q&s=35
👍82
"از متود createRandomStringsUsing میتونین جهت مدیریت نحوه ی ایجاد رشته های رندوم استفاده کنید در لاراول !
بطور خلاصه میتونیم با استفاده از این متود مشخص کنیم تا در هنگام خروجی گرفتن از ()random جزئیات چگونه برامون return بشه.✔️
الان در مثال زیر خروجی برابر با " !Laravel" خواهد شد(همونطور که تعیین شده).
همچنین طول رشته رو هم تعیین کنیم.
کجاها کاربرد داره؟
تستینگ ،ایجاد پسورد، کلید api و..."🪴🌴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/AshAllenDesign/status/1778785643558322323?t=ARVVMJNWmAPOuW3miKx9yA&s=19
👍41
در php میتونیم از علمگر null-safe برای برای دسترسی به فیلد ها یا فراخوانیه متود ها جهته تشخیص null بودن یا نبودنه انها استفاده کنیم .

به تصویر توجه کنین:
اگه تاریخش و متود format برامون return بشه که عملیات به درستی انجام میشه ولی اگه getPublishedDate مقدارش null بشه خطایی رخ نمیده و فقط null به عنوان مقدار قرار میگیره.🪴🌴

از ورژن php 8 قابل استفادس
@GoldenCodeir
(به مثال و منبعش دقت کنین👇🏾)
https://twitter.com/AshAllenDesign/status/1779150799316390100?t=wLJ9oYvJBl7SNWCFnF28Pw&s=19
👍4🔥1
در لاراول هنگام تعریف کردن gate ها یا policy هامون به دلایل مباحث امنیتی در بیشتر مواقع بجای retuen‌ کردنه 403(نداشتن اجازه دسترسی) انتخابمون 404 هستش ...
لاراول متود ()denyAsNotFound رو برای این منظور در اختیارمون قرار داده، طرز کارش هم خیلی سادس و کافیه به مثالش توجه کنین🪴🍀
(ورژن ۱۱)
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/OussamaMater/status/1780323357575029099?s=09
👍7👌2
متود ()whereAny که از نسخه ۱۰ لاراول در دسترسه باعث میشه بتونیم در هنگام search برای چند ستونه مختلف محدودیته مدنظر رو اعمال کنیم.

به مثال دوم دقت کنین، سه فیلتره مجزا برای ستون های email, name, phone تعیین شده پس باید کاربری که یکی از این سه فیلتر براش صادق هست برگرده و دیگه محدود به ایجاد صرفا یک فیلتر‌ نیستیم .
قبلن پیاده سازیه همچین چیزی پیچیده تر بود🪴🌴
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/_newtonjob/status/1781091928043393044?t=n1HoCY85zReXe1Qc6gO4mw&s=35
👍42
ممکنه در فرایند برنامه نویسی یه ریلیشن رو بارها تکرار کرده باشیم (اما هر دفعه تحت شرایط متفاوتی مثل فیلتر کردن یا مرتب سازی یا... ) خب درین شرایط روش بهینه تری هم هست!(گیج نشین لطفا😁)

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

خب این حرکت میتونه در مبحث کلین کد تاثیر خوبی بزاره و از نوشتن کدای تکراری جلوگیری کنه‌.
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/PovilasKorop/status/1781620075058860184?t=0vCorvEo6gM_ITbKOpWWnw&s=19
👍9
اگر میخواین دیتای یک ریلیشن رو بگیرین میتونین محدودیتا یا order هایی که نیاز دارین در پروژه رو داخل یک ()closure function مشخص کنید.

برای مثال اگه بخواین کشورهای موجود در دیتابیسُ با بزرگترین شهرهاشون رو بگیرین باید طبق مثال زیر عمل کنید که اومده توسط orderBy تعیین کرده برچه اساسی و چگونه city رو تحویلمون بده🪴🌴

@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/PovilasKorop/status/1781982461200642165?s=19
👍5
Forwarded from یک برنامه نویس تنبل (Raymond Dev)
🔶 در لاراول ۱۱ برخی از فایل های اضافی حذف شدند و زیرا استفاده چندانی نمی شدند که حداقل از شلوغی آن کاسته بشه اما لاراول این فایل ها را نادیده نمی گیرد و بلکه به برنامه نویس اجازه می دهد با دستورات زیر فایل های که نیاز دارند را ایجاد کند.

دستوراتی که لاراول ۱۱ در آن آمده است:

php artisan install:api
php artisan config:publish cors
php artisan install:broadcasting
php artisan make:provider
php artisan make:class
php artisan make:enum
php artisan make:interface
php artisan make:trait


#لاراول

@TheRaymondDev
👍8
میتونیم از متود ()whereBetween جهت دریافته رکورد های موجود میان دو timeStamps بهره ببریم ...✔️
خب بریم ببینیم یعنی چی؟

📌 به مثالش توجه کنین، در اینجا باید خروجی ای که برمیگرده نتایج تسک های انجام شده(completed_at) بین دو بازه ی زمانی مشخص شده باشه.
اگه در آرایه مقدار های اول null بشن بخش دومش برمیگرده ،طبق‌قوانین coalescing null - ??

@GoldenCodeir
(به‌منبع و مثالش دقت کنید👇🏾)
https://twitter.com/laravelbackpack/status/1783096059981639914?t=9Whyo2saNcER0WfmwXLXzg&s=19
👍31
Forwarded from آموزش لاراول | LaravelHub (M.S.I.C.W ️️(VaKeR) 775)
سلام وقت بخیر امروز اومدم بهتون بگم چطوری یه فایل رو در php بتونیم ZIP کنیم.

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();

🔥⚡️ کانال آموزشی LaravelHub
@LaravelHub
👍3🤡1
اگه نیاز داشته باشیم به اینکه بدونیم آیا پارامترِ مدنظرمون در ریکوئست توسط کاربر پر شده یا نه و بر اساس true‌یا false بودن بیایم یک علمیاتی اجرا کنیم، میتونیم از هلپر ()whenFilled کمک بگیریم.

به مثالش دقت کنین، اگر name توسط کاربر پر شده باشه اون function ابتدایی اجرا خواهد شد،‌ در غیر اینصورت اگر فیلد name خالی باشه فانکشن بعدی که طراحی کردیم اجرا میشه 🪴🌴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/OussamaMater/status/1783587540676530593?t=ze_o0rRyexjFS0KrbqnQMQ&s=35
4👍3🤡1
Forwarded from آموزش لاراول | LaravelHub (M.S.I.C.W ️️(VaKeR) 775)
سلام وقتتون بخیر امروز اومدم بهتون یه آموزش خفن با زبان PHP بدم
خیلی وقت ها خودمون یا کاربر میخوایم سایز فایل یا تصاویر رو ببینیم.خب این امکان با php امکان پذیر هست و خیلی به کارتون میاد.
function file_get_size($s) {
if($s >= 1073741824)
return sprintf('%1.2f', $s / 1073741824 ). ' GB';
elseif($s >= 1048576)
return sprintf('%1.2f', $s / 1048576 ) . ' MB';
elseif($s >= 1024)
return sprintf('%1.2f', $s / 1024 ) . ' KB';
else
return $s . ' B';
}

🔥⚡️ کانال آموزشی LaravelHub
@LaravelHub
👍5🤡1
در استفاده از روابط ()hasMany میشه چگونگیه استخراج اطلاعات رو مشخص کرد.
برای دریافت اطلاعات بر اساس تاریخ میتونیم از oldestOfMany (اولین دیتای ذخیره شده) و latestOfMany (اخرین دیتای ذخیره شده) استفاده کنیم.🪴🌴

همچنین با استفاده از ofMany در استخراج دیتا میتونیم بر نتایج موجودی که فیلتر براشون تعیین کردیم، یه فیلتر دلخواه دیگه هم مشخص کنیم(مثلا مرتب سازیه اطلاعات دریافت شده بر اساس تاریخ یا...) !
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/laravelbackpack/status/1784545611150455128?s=35
👍5🤡1
وقتی یک کاربر پسوردش رو تغییر میده از لحاظ امنیتی خب قطعا بهتره api token هم برای کاربر تغییر کنه.
بطور خلاصه با استفاده از متود mutator میتونیم پیش از ذخیره سازی در دیتابیس همچین عملیاتی رو انجام بدیم . (ایجاد تغییراتی دلخواه در دیتای ورودی پیش از ذخیره سازی).🪴🌴
@GoldenCodeir
برای درک بهتر به منبع و مثالش دقت کنید👇🏾)
https://twitter.com/laravelbackpack/status/1785270384293802014?s=19
2🤡1