Golden Code – Telegram
Golden Code
737 subscribers
53 photos
248 links
نکات laravel, php و...
Download Telegram
اگر میخواین دیتای یک ریلیشن رو بگیرین میتونین محدودیتا یا 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
Forwarded from CleverDevs (Mammad)
-اصل Command Query Separation در کلین کد

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

مثلا این مثال رو در نظر بگیرید

public boolean set(String attribute, String value);


این کد میاد به یه اتریبیوتی مقداری رو ست میکنه و اگه موفقیت امیز بود ture بر میگردونه و اگه مشکل داشت false میده حالا اگه بیایم اینو توی شرط استفاده کنیم
if (set("username", "CleverDevs"))...

از نگاه خواننده کد ببینید : «این الان چک میکنه که یوزر نیم unclebob از قبل ست شده یا داره چک میکنه »

کلمه set یه فعله ولی وقتی توی شرط استفاده شده قید بنظر میاد و باعث نامفهموم شدن کد میشه
میتونیم به جای set از setAndCheckIfExists استفاده کنیم اما بازم ممکنه برای if statement جالب نباشه بهترین کار اینه که یچیزی مث کد زیر بزنیم :
if (attributeExists("username")) {
setAttribute("username", "CleverDevs");
x...
}


خلاصه این اصل این بود که تابعتون نباید هم کاری انجام بده هم چیزی بر گردونه

#CleanCode
@CleverDevs - @CleverDevsGp
👍5🔥1🤡1
Forwarded from CleverDevs (Mammad)
ممکنه بخواید سایتی بنویسید و نیاز باشه که توش عبارت های ریاضی رو نمایش بدید . برای اینکار میتونید از کتابخونه KaTex توی جاوا اسکریپت استفاده کنید

این کتابخونه به شما امکان اینو میده که از بیشتر دستورالعمل های Latex استفاده بکنید و توی وب و با استفاده از جاوا اسکریپت عبارت های ریاضی رو نمایش بدید

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

https://katex.org/

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


#tools #Math #Latex #KaTex
@CleverDevs - @CleverDevsGp
👍63🔥2🤡1
ممکنه گاهی نیاز داشته باشین یه دسته از رکورد هارو آپدیت کنین یا در صورت عدم وجود ایجادشون کنین !
لاراول متودی تحت عنوان ()upsert در اختیارتون گذاشته که دقیقا همینکارو براتون انجام میده✔️

در مثال زیر قیمته همه رکوردهای اشاره شده برای مدل Flight بروزرسانی یا ساخته خواهند شد.
مثلن در آرایه اول توجه‌کنین، پرواز از مبدا و مقصد تعیین شده رو با قیمت ۹۹ دلار بروزرسانی میکنه(در صورت عدم وجود : میسازتش با مشخصاتی که مشخص کردیم)

📌 این uniqueBy چه نقشی داره؟
بطور خلاصه باعث میشه از پدید آمدن رکوردهای تکراری جلوگیری بشه. 🌴🪴
@GoldenCodeir
(به منبع و مثالش دقت کنین👇🏾)
https://twitter.com/OussamaMater/status/1785770546891768004?s=19
👍21🤡1
Forwarded from Python Everywhere
React or Vue ?

دو فریم ورک محبوب جاوا اسکریپت برای طراحی رابط کاربری و تعاملی Front-End؛

-تفاوت ها :
فریم‌ورک React از قالب Jsx برای نوشتن کد های Html استفاده میکنه درحالی که Vue از کد های Html پشتیبانی میکنه و گزینه ای برای نوشتن بصورت Jsx هم داره.

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

از طرف دیگه Vue یه فریم ورک کاملا سبک و با سرعت خوبه که با توجه به سیستم DOM که کاملا شبیه به فریم‌ورک angular هستش و همچنین استفاده از کد های Html یادگیری خیلی سریع و آسون رو به همراه میاره.


-مفهوم DOM چیه؟
یک رابط برنامه نویسی (API) برای جاوا اسکریپت که برای تعامل توی وبسایت استفاده میشه.

بزارید ساده توضیح بدم، فرض کنید توی یه وبسایت میخواید با فشردن یه دکمه پیامی نمایش داده بشه و چیزی تغییر کنه.
تمام این تغییر ها نیازمند این هستن که تگ های Html و کد های Css بصورت مداوم بروزرسانی بشن و به عبارتی تغییر کنن.

درحالت عادی تغییر کد های html/css بصورت در لحظه و به دست کاربر ممکن نیست.
اینجاست که DOM با استفاده از یه سیستم درختی مانند، میاد و تمام عناصر (تگ ها) HTML رو تبدیل به اشیاء (Object) میکنه.

حالا عناصر سایتتون به راحتی قابل تغییر، حذف و اضافه شدن هستن!
بنابراین کاری که سیستم DOM انجام میده اینه که به شما اجازه میده کد های وبسایت تون در لحظه تغییر کنن و حذف یا اضافه بشن.

حالا میتونید درک کنید که چرا فریم ورک هایی مثل Vue.js و React.js از این سیستم استفاده میکنن تا رابط کاربری و تعامل بین سایت و کاربر ایجاد کنن.


🖼️ مزایای Vue.js :
• یاد گیری سریع و آسان
• سبک و سرعت بالا
• درحال رشد و دارای انجمن های مختلف

🖼️ معایب Vue.js :
• تجربه و حضور کمتر در عرصه
• چینی زبان بودن برخی افزونه و ابزار ها
• آینده‌ی نامشخص و متخصص های کمتر


🖼️ مزایای React.js :
• حضور قدرتمند و تقاضای زیاد
• سرعت بالای توسعه
• ابزار های بسیار زیاد


🖼️ معایب React.js :
• یادگیری سخت
• استفاده از Jsx


جمع بندی
درکل اگه طراح وبسایت تازه کار هستید میتونید برای پروژه های ساده/متوسط و حتی پیچیده از Vue.js استفاده کنید. چرا که یادگیری این فریم ورک خیلی آسون و سریع رقم میخوره درحالی که برای پروژه هایی با مقیاس بزرگ اطمینانی بهش نیست و بهتره که برید سراغ React
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2❤‍🔥1🤡1
وقتی باید از whereIn استفاده کنیم در پروژه و ورودی از کاربر نداریم درین شرایط میتونیم برای افزایش سرعت کوئری از یه متود دیگه با نام ()WhereIntegerInRaw هم استفاده کنیم.✔️

حالا چرا این متود باعث افزایش سرعت میشه؟؟
چون میاد و PDO bindings و اقدامات امنیتی که مربوط به خود لاراول هستن رو نادیده میگیره :)

@GoldenCodeir 💫
به منبع و مثالش دقت کنین👇🏾
https://twitter.com/OussamaMater/status/1785045623382610233?t=ytMU5-dp7lqeeqi1D9A47w&s=19
👍4👌1🤡1
🔸 جلسه هشتم نکات مدیریت فروشگاه اینترنتی

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

🆔 @daraweb_channel
🤡1
♨️ آیا کار کردن با webpack براتون سخته؟ راه حل مشکل شما Laravel-Mix اینجاست
ما توی پست قبلی فهمیدیم که Webpack چیه و به چه دردی میخوره ولی یکی از معایب وب‌پک کانفیگ نسبتا پیچیده و سختی کار با اون هست که شاید افراد مبتدی رو سردرگم و از خودش دور کنه.
برای کسایی که نمیخوان با کانفیگ پیچیده webpack برای پروژه بزرگ و کوچیکشون دست و پنجه نرم کنند Laravel-mix میتونه گزینه عالی باشه
این ابزار خودش از webpack استفاده میکنه ولی کانفیگ هاشو توی پس زمینه انجام داده و یه محیط و کانفیگ خیلی خیلی ساده و در عین حال کاربردی داره.
توصیه میکنم روی یکی از پروژه های آینده تون امتحانش کنید...👌

🌐 https://laravel-mix.com

#Tools

Channel | Group | YouTube
👍21🤡1
Forwarded from کداکسپلور | CodeExplore (CodeExplore)
🔷 اصول برنامه نویسی SOLID

1. اصل مسئولیت واحد (SRP): هر کلاس فقط باید یک کار انجام بده. مثلاً اگه یه کلاسی داریم برای مدیریت کاربرا، فقط باید کارای مربوط به کاربرا رو انجام بده، نه اینکه بره سراغ مدیریت سفارشات یا محصولات.

2. اصل باز – بسته (OCP): کلاس‌ها باید طوری طراحی بشن که بشه روشون اضافه کرد، ولی نباید نیاز باشه که خودشون رو عوض کنیم.

3. اصل جایگزینی لیسکوف (LSP): اگه یه کلاسی از یه کلاس دیگه ارث بری کرده، باید بتونیم اون کلاس رو جایگزین کلاس اصلی کنیم بدون اینکه مشکلی پیش بیاد.

4. اصل جداسازی رابط (ISP): هر کلاس فقط باید به اون قسمت‌هایی از یه رابط که استفاده می‌کنه وابسته باشه، نه به تمام رابط.

5. اصل وارونگی وابستگی (DIP): کلاس‌ها باید به ایده‌ها وابسته باشن، نه به جزئیات. یعنی باید به چیزایی که می‌خوان انجام بدن فکر کنن، نه اینکه چطوری اون کارو انجام می‌دن.

این اصول کمک می‌کنن که کدی بنویسیم که بتونیم راحت‌تر مدیریتش کنیم، بفهمیمش و تستش کنیم.

☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤡1
↩️ وبسایت‌هایی که هاستینگ پروژه رو کاملاً رایگان انجام میدن :

Netlify
Firebase
AWS
Heroku
Github Pages
Vercel
Surge
Render
Gitlab Pages
Stormkit


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

علاوه بر اون اگه برنامه نویسی و کارفرما می‌خواد پیشرفت توسعه‌ی سایت رو ببینه، می‌تونید پروژه رو روی این هاست‌ها دیپلوی کنید و براش بفرستین.


🆔 @ghaleb_fre

🆔 @cht_romm
👍42🔥1🤡1
اگه تعداد زیادی singletone در پروژه دارین‌، میتونین حتی اونارو به صورت آرايه singletones$ در کلاس service provider اضافه کنین.

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

📌 برخی از مزایای این نوع ساختار:
مدیریت و پیکربندی و اعمال تغییرات بصورت مرکزی انجام میشه، پس مدیریت پروژه رو ساده میکنه.

✔️ تاثیر مثبت بر کلین کد و قابل فهم تر شدن کد.

✔️ در مبحث تست نویسی هم کارو راحت تر میکنه واسمون وقتی در یه کلاس تعریف میشن.

✔️ بر performance هم تاثیر مثبتش رو میزاره. چجوری ؟
در حالته عادی وقتی هر بار که شما یه سرویس رو میخواین استفاده کنین یه نمونه جدید ازش ساخته میشه اما در همچین ساختاری خیر! 🪴🌴
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/_newtonjob/status/1787742606476140757?t=M3Op6_XeRtCrp18ebigqug&s=35
🔥4👍3🤡21
💎 استاتوس کد هایی که هر برنامه نویس باید بداند

این استاتوس کد ها خیلی کاربردین حتماً پیشنهاد میکنم ذخیره داشته باشید (لزوماً نیازی به حفظ نیست) تو خیلی جا ها مخصوصاً تو API ها و همچنین ارور هندلینگ ها مورد استفاده تان قرار میگیره.

انتشار یادتون نره

Channel | Group | YouTube
3👍2🔥2