Learnira | لرنیرا
344 subscribers
55 photos
21 videos
62 links
مطالب و منابع آموزشی در حوزه برنامه نویسی بک اند و فرانت اند

کانال یوتیوب : https://www.youtube.com/c/RezaAmini
Download Telegram
Media is too big
VIEW IN TELEGRAM
آموزش #Livewire

• قسمت سیزدهم | ایونت ها در Livewire
شما میتونید با پکیج EasyBlade ویو های ساده تری رو به وجود بیارید و کدنویسی داخل Blade رو کمتر کنید.

در حال حاضر این پکیج directive های isActive , route , asset , url رو داخل خودش داره و همچنان هم در حال اپدیت هستش..

• توضیحات بیشتر داخل ریپازیتوری گیتهات :

https://github.com/aminireza-ir/laravel-easyblade

با ستاره دادن و اشتراک گذاری پکیج ازمون حمایت کنید 🌹
Blade is easy with EasyBlade 😉.

https://github.com/rezaamini-ir/laravel-easyblade
💡 ی پنل مدیریت باحال و با امکانات زیاد برای لاراول با انعطاف پذیری بالا .
ی سری از امکاناتشو میتونید ببینید توی عکس بالا.
کانتریبیوشن توی پروژه فراموش نشه 😁.

https://github.com/rezaamini-ir/laravel-easypanel
Auth != Auth

یکم تایتل عجیبه ولی خب میبینم خیلی از دوستان Authentication رو با Authorization اشتباه میگیرن.

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

فرض کنید شما میخواید ی کاربر رو ثبت نام کنید و لاگین کنید و لاگین بودنشو چک کنید ، این مواردی که با سشن ها و کوکی ها و.. در ارتباط هستن رو Authentication میگن.

اما Authorization یه مرحله جلو تر از Authentication هستش، یعنی کاربر ما لاگین کرده و باید چک کنیم ببینیم چه دسترسی هایی داره، به اصطلاح به Role ها Permission های کاربر که ما چک میکنیم میگن Authorization.

بیاید با دو جمله ساده این بحثو جمع کنیم.

• Authentication : Who are you?
• Authorization : What can you do ?
کی هستی؟
چیکار میتونی انجام بدی ؟
ی تسک خیلی ساده برای دوستانی که علاقه دارن همکاری داشته باشن روی پروژه های اپن سورس.

به پکیج EasyPanel یه کامند اضافه کنید که کاربر بتونه با وارد کردنش یک عملیات crud رو برای یک مدل حذف کنه.
panel:deleteCRUD name

برای انجام این کار ی دانش جزئی از بخش کامند لاین لاراول نیاز هستش که اگر دانش کافی ندارید پیشنهاد میکنم فایلای src/Commands + Artisan Document رو مطالعه کنید و این مواردو یاد بگیرید .

آدرس ریپازیتوری :
https://github.com/rezaamini-ir/laravel-easypanel
ورژن 8.0 PHP منتشر شد !
https://www.php.net/releases/8.0/en.php
ریفکتور به معنی کم کردن تعداد لاین کد هاتون نیست!

ریفکتور یعنی کدتون رو خوانا تر کنید، بخاطر این خوانایی بیشتر شاید شما کد بیشتری بنویسید یا یکسری از کدهاتون رو حذف کنید.

به ریفکتور اهمیت بدید و ریفکتور رو فراموش نکنید.
دارک مود بتا به گیتهاب اضافه شد.
ی تکنیک باحال برای اینکه قسمت Languages توی گیتهاب زبونی که نمیخواید رو شناسایی نکنه اینه که توی فایل
.gitattributes
بصورت پترن فایل هایی که نمیخواید رو وارد کنید، مثلا شما توی ی پروژه نمیخواید فایل های css و js توی امار گیتهاب نشون داده بشن
کافیه نام فایل رو بصورت پترن وارد کنید و بعدش از کیورد linguist-vendored استفاده کنید :

*.css linguist-vendored
*.js linguist-vendored


دستور بالا میگه هر فایلی که پسوند css و js داره رو بعنوان vendor شناسایی کن که همین باعث میشه توی نمودار گیتهاب نشون داده نشه.
و اینجاست که لاراول با Livewire و Inertia.js خودشو یک Full Stack Framework خطاب میکنه!
Forwarded from Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت.

💡 عنوان : شروع برنامه نویسی
🧑🏻‍💻 گوینده : رضا امینی

🎧 گوش دادن به پادکست

@Podcode
Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت. 💡 عنوان : شروع برنامه نویسی 🧑🏻‍💻 گوینده : رضا امینی 🎧 گوش دادن به پادکست • @Podcode
دوستانی که قصد تولید محتوا دارن همین الان میتونن شروع کنن به ضبط و تجربه هاشون رو به اشتراک بزارن 😊

پادکست های بیشتر رو هم میتونید توی سایت ببینید و گوش بدید.
دوستانی که همیشه مشکل داشتن با آمارگیری برای پست ها و مقالات و.. توی لاراول

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

https://github.com/rezaamini-ir/laravel-tracker
ی توضیحی در خصوص نحوه عملکرد Eloquent بدم ک چرا ما بصورت Autocomplete به توابع Builder دسترسی نداریم.
در اصل لاراول موقعی که ما داریم روی یک سری دیتا که از مدل میگیریم و بعدش توابع کوئری بیلدر رو صدا میزنیم میاد و توی __call این متد رو از روی متد newQuery که داخل خود الکوئنت هستش صدا میزنه و پشت هر متد کالی که مربوط به کوئری بیلدر هست این متد صدا زده میشه.
مثلا وقتی ما داریم مینویسیم :

$articles->where('user_id', 10);
لاراول میاد و به این صورت این رو در میاره در پشت صحنه :
$articles->query()->where('uaer_id', 10);

حالا اگه ما بخوایم به Autocomplete دسترسی داشته باشیم باید چیکار کنیم؟
فقط کافیه اول متد query رو صدا بزنیم و بعدش میبینم که لیست توابع Query Builder بالا میاد و در اصل متد Query میاد و در پشت صحنه با کمک متد newQuery یک آبجکت از روی کلاس Query Builder میسازه و اون رو برمی‌گردونه.

به همین راحتی :))
اگر توی پروژه های اپن سورستون دارید از Scrutinizer استفاده میکنید برای ران کردن تست ها و بعد از اضافه کردن ورژن 8 PHP به مشکل خوردید و تست هاتون پاس نمیشن یا میگیرید نگران نباشید.
فعلا ساپورتی انجام نمیشه روی ورژن 8 و پیشنهاد میشه تا وقتی که فیکس میشه این مورد توی کانفیگتون از کامند phpcs-run استفاده کنید.
Forwarded from Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت.

💡 عنوان : برنامه نویسی و ستون فقرات!
🧑🏻‍💻 گویندگان : دکتر نوید مقدم و رضا امینی

🎧 گوش دادن به پادکست

@Podcode
ایزی پنل به ورژن 1.3 اپدیت شد.
ویژگی های جدید:

• قابلیت تنظیم و شخصی سازی زبان
• اضافه شدن قابلیت راستچین یا چپ چین بودن
• اضافه شدن فونت وزیر برای فارسی و عربی
• نمایش تصویر در List action
• سرچ در انواع روابط بصورت ajax در دوحالت معمولی و lazy
• اضافه شدن انیمیشن سرچ
• اضافه شدن Lazy mode برای اینپوت های Livewire

لینک گیتهاب:
https://github.com/rezaamini-ir/laravel-easypanel
همیشه که قرار نیست توی ریفکتور حجم کدارو کمتر کنیم باید خوانایی رو بالاتر ببریم ، یه نمونه از کد ریفکتور روی پروژه ی ایزی پنل هستش که میتونید این کامیت رو روی گیتهاب ببینید که چقد خوانا تر شده و افراد مختلف الان خیلی راحت تر میتونن روش کار کنن :

Refactor Stub Parser