Golden Code – Telegram
Golden Code
738 subscribers
53 photos
248 links
نکات laravel, php و...
Download Telegram
Forwarded from CleverDevs (Mammad)
‏Named Arguments توی php چیه و چه کاربردی داره ؟

این فیچر که توی php8 اضافه شده به ما کمک میکنه که آرگومان های تابع رو به جای ترتیب بر اساس اسم هاشون به تابع پاس بدیم

مثلا تابع زیر رو تصور کنید

function createNewUser($name , $city = "Tehran" , $age = "18", $gender = ""){

$user = new User();
$user->name = $name;
$user->city = $city;
$user->age = $age;
$user->gender = $gender;
$user->save();
}


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



createNewUser(name : "Mammad" , gender : "male");


حالا اگه اسم آرگومان هارو مشخص نمیکردیم مجبور بودیم هر چهارتا آرگومان رو پاس بدیم و خب کدوم شلوغ تر و سخت تر میشد

این قابلیت برای توابعی که تعداد پارامتر زیادی دارن و بیشترشون هم آپشنال هستن خیلی کاربردیه

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

https://stitcher.io/blog/php-8-named-arguments

#php
@CleverDevs - @CleverDevsGp
👏122
بیشتره کاربرا عادت دارن از یک پسورد برای همه حسابهاشون استفاده کنن. حالا اگه یک سایت هک بشه، باقیه اکانت هاشونم به خطر میفته.

در لاراول یک قانونی هست به نام "uncompromised" که کمک میکنه از ایجاد پسورد هایی که قبلاً در سایت‌های دیگه لو رفتن جلوگیری بشه که باعث میشه رمز ایمن‌تری ایجاد بشه.

حالا چجوری این کارو میکنه؟

یه سرویس هست با نام HIBP که پسورد های لورفته در دیتابیسش هست.
این uncompromised نقش رابط بین laravel و سرویسHIBP رو داره و تهش متوجه میشه پسورد ایمنه یا نه و حالا اگه ایمن نباشه هم ولیدیشن به خطا میخوره.
#Laravel
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/OussamaMater/status/1829613512168976836?s=19
👍5🔥1
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
#javanoscript #geolocation

💎 گرفتن لوکیشن کاربر با جاوااسکریپت 💎

با استفاده از Geolocation API در جاوااسکریپت می‌تونید به سادگی موقعیت جغرافیایی کاربر رو دست بیارید و توی بخش های مختلف ازش استفاده کنید.

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


نمونه کد 🚀
navigator.geolocation.getCurrentPosition((position) => {
console.log(`
Lat:${position.coords.latitude},
Long:${position.coords.longitude}
`);
});


🌐 مثال استفاده در پروژه واقعی

🆔 Channel | Group | YouTube
👍4
در لاراول برای استفاده از Service Container و ثبت یک سرویس با نام مستعار (alias)کدوم گزینه رو باید استفاده کرد؟
Anonymous Quiz
33%
app()->bind('aliasName', function() { return new ServiceClass(); });
15%
app()->singleton('aliasName', ServiceClass::class);
28%
app()->bind(ServiceClass::class, 'aliasName');
24%
app()->alias('ServiceClass', 'aliasName');
3🔥2
در لاراول میتونیم با استفاده از دستور php artisan db خیلی ساده و سریع به دیتابیس از طریق CLI متصل شیم و میتونیم از طریق CLI با دیتابیس در تعامل باشیم تا عملیات های مدنظرمونو انجام بدیم.

اگه چندتا دیتابیس باشه چی؟؟
اینجوری باید دیتابیس مدنظر مشخص بشه:

php artisan db mysql

#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/OussamaMater/status/1831784043488403463?t=ygcQomWuuX0wo0KwCJud1w&s=19
👍5
Forwarded from CleverDevs (Mammad)
کامند های artisan توی لاراول 11

#php #laravel
@CleverDevs - @CleverDevsGp
👍85🔥2
Forwarded from یک برنامه نویس تنبل (Raymond Dev)
🔶 برگه تقلب کامل MySQL

@TheRaymondDev
🔥4👍1
نکات طراحی pop-up های delete :
۱- از باتن های مشخص برای حذف یا تایید استفاده کنیم تا کاربر راحت تر بفهمه چیکار میکنه.

۲- از رنگ‌هایی مانند قرمز برای باتن حذف استفاده کنیم تا توجه کاربر جلب بشه.

۳-باتن ها رو در مکان‌های قابل دسترس قرار بدیم تا کاربر راحت بتونه تصمیم بگیره.
(در تصویر به نمونه‌های ایده‌آل و اشتباه اشاره شده)
#UI
@GoldenCodeir
(به منبع و مثالش توجه کنین 👇🏾)
https://x.com/uxpeak_/status/1718579351644410367?s=19
👍4
Forwarded from CleverDevs (Mammad)
-اصل Vertical Openness Between Concepts در کلین کد

کاملا ساده و مختصر این اصل میگه که بین بخش های مختلف کدتون یکی دو خط فضای خالی بزارید فاصله بیوفته بینشون مثلا کد زیر رو ببنید

import CleverDevs from telegram
function helloWorld(){
console.log("hello world");
}
function sendStarRaction(){
console.log('send star reaction on CleverDevs Posts');
}

تو کد بالا بین بخش های مختلف کد فاصله ای نذاشتیم حالا اگه کدمون بیشتر و پیچیده تر بشه خوندنش خیلی سخت تر میشه حالا اگه بیایم و مثل کد پایین یه خط خالی بین هر بخشی از کد بزاریم خوندنش به مراتب راحت تر میشه

import CleverDevs from telegram

function helloWorld(){
console.log("hello world");
}

function sendStarRaction(){
console.log('send star reaction on CleverDevs Posts');
}


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

#CleanCode
@CleverDevs - @CleverDevsGp
👍83
لاراول با Artisan به ما امکان این رو داده تا وضعیت دیتابیس رو در ترمینال به خوبی بتونیم بررسی کنیم.

حالا یه سری کامند رو مرور کنیم:
Php artisan db:table 

(میاد ی آمار جامع و عالی از دیتابیس میده)
Php artisan db:monitor

(بررسی تعداد کانکشن های دیتابیس(خیلی خفنه و آپشنای ديگه هم داره)
Php artisan db:show

(یه نمای کلی از db و تعداد کانکشن های فعال و نوع دیتابیس...)
@GoldenCodeir
( منبع و مثالش)
https://x.com/OussamaMater/status/1833235842321756608?t=zoRINh3pYLRRThSPXX5cXw&s=19

علاوه بر منبع، اینم یه مقاله جامع:👇🏾
https://magecomp.com/blog/laravel-9-new-database-commands/
👍8🔥1
Forwarded from CleverDevs (Mammad)
-اصل Do One Thing در کلین کد

این اصل میگه هر تابعی باید فقط یه کار انجام بده و اگه نیاز به دوتا کار شد باید دوتا فانکشن بکنیش


FUNCTIONS SHOULD DO ONE THING. THEY SHOULD DO IT WELL THEY SHOULD DO IT ONLY.


اگه یک تابع فقط مراحلی رو انجام میده که به اسمش میخوره یعنی فقط یک کار میکنه و کارت درسته


#CleanCode
@CleverDevs - @CleverDevsGp
6👍3🔥1