شما میتونید با پکیج EasyBlade ویو های ساده تری رو به وجود بیارید و کدنویسی داخل Blade رو کمتر کنید.
در حال حاضر این پکیج directive های isActive , route , asset , url رو داخل خودش داره و همچنان هم در حال اپدیت هستش..
• توضیحات بیشتر داخل ریپازیتوری گیتهات :
https://github.com/aminireza-ir/laravel-easyblade
با ستاره دادن و اشتراک گذاری پکیج ازمون حمایت کنید 🌹
در حال حاضر این پکیج directive های isActive , route , asset , url رو داخل خودش داره و همچنان هم در حال اپدیت هستش..
• توضیحات بیشتر داخل ریپازیتوری گیتهات :
https://github.com/aminireza-ir/laravel-easyblade
با ستاره دادن و اشتراک گذاری پکیج ازمون حمایت کنید 🌹
💡 ی پنل مدیریت باحال و با امکانات زیاد برای لاراول با انعطاف پذیری بالا .
ی سری از امکاناتشو میتونید ببینید توی عکس بالا.
کانتریبیوشن توی پروژه فراموش نشه 😁.
https://github.com/rezaamini-ir/laravel-easypanel
ی سری از امکاناتشو میتونید ببینید توی عکس بالا.
کانتریبیوشن توی پروژه فراموش نشه 😁.
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 ?
کی هستی؟
چیکار میتونی انجام بدی ؟
یکم تایتل عجیبه ولی خب میبینم خیلی از دوستان Authentication رو با Authorization اشتباه میگیرن.
اینا باهم دیگه یکی نیستن ، حالا بیاید مفهومشون رو درک کنیم.
فرض کنید شما میخواید ی کاربر رو ثبت نام کنید و لاگین کنید و لاگین بودنشو چک کنید ، این مواردی که با سشن ها و کوکی ها و.. در ارتباط هستن رو Authentication میگن.
اما Authorization یه مرحله جلو تر از Authentication هستش، یعنی کاربر ما لاگین کرده و باید چک کنیم ببینیم چه دسترسی هایی داره، به اصطلاح به Role ها Permission های کاربر که ما چک میکنیم میگن Authorization.
بیاید با دو جمله ساده این بحثو جمع کنیم.
• Authentication : Who are you?
• Authorization : What can you do ?
کی هستی؟
چیکار میتونی انجام بدی ؟
ی تسک خیلی ساده برای دوستانی که علاقه دارن همکاری داشته باشن روی پروژه های اپن سورس.
به پکیج EasyPanel یه کامند اضافه کنید که کاربر بتونه با وارد کردنش یک عملیات crud رو برای یک مدل حذف کنه.
آدرس ریپازیتوری :
https://github.com/rezaamini-ir/laravel-easypanel
به پکیج EasyPanel یه کامند اضافه کنید که کاربر بتونه با وارد کردنش یک عملیات crud رو برای یک مدل حذف کنه.
panel:deleteCRUD name
برای انجام این کار ی دانش جزئی از بخش کامند لاین لاراول نیاز هستش که اگر دانش کافی ندارید پیشنهاد میکنم فایلای src/Commands + Artisan Document رو مطالعه کنید و این مواردو یاد بگیرید .آدرس ریپازیتوری :
https://github.com/rezaamini-ir/laravel-easypanel
ریفکتور به معنی کم کردن تعداد لاین کد هاتون نیست!
ریفکتور یعنی کدتون رو خوانا تر کنید، بخاطر این خوانایی بیشتر شاید شما کد بیشتری بنویسید یا یکسری از کدهاتون رو حذف کنید.
به ریفکتور اهمیت بدید و ریفکتور رو فراموش نکنید.
ریفکتور یعنی کدتون رو خوانا تر کنید، بخاطر این خوانایی بیشتر شاید شما کد بیشتری بنویسید یا یکسری از کدهاتون رو حذف کنید.
به ریفکتور اهمیت بدید و ریفکتور رو فراموش نکنید.
ی تکنیک باحال برای اینکه قسمت Languages توی گیتهاب زبونی که نمیخواید رو شناسایی نکنه اینه که توی فایل
.gitattributes
بصورت پترن فایل هایی که نمیخواید رو وارد کنید، مثلا شما توی ی پروژه نمیخواید فایل های css و js توی امار گیتهاب نشون داده بشن
کافیه نام فایل رو بصورت پترن وارد کنید و بعدش از کیورد linguist-vendored استفاده کنید :
دستور بالا میگه هر فایلی که پسوند css و js داره رو بعنوان vendor شناسایی کن که همین باعث میشه توی نمودار گیتهاب نشون داده نشه.
.gitattributes
بصورت پترن فایل هایی که نمیخواید رو وارد کنید، مثلا شما توی ی پروژه نمیخواید فایل های css و js توی امار گیتهاب نشون داده بشن
کافیه نام فایل رو بصورت پترن وارد کنید و بعدش از کیورد linguist-vendored استفاده کنید :
*.css linguist-vendored
*.js linguist-vendoredدستور بالا میگه هر فایلی که پسوند css و js داره رو بعنوان vendor شناسایی کن که همین باعث میشه توی نمودار گیتهاب نشون داده نشه.
Forwarded from Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت.
💡 عنوان : شروع برنامه نویسی
🧑🏻💻 گوینده : رضا امینی
🎧 گوش دادن به پادکست
• @Podcode
💡 عنوان : شروع برنامه نویسی
🧑🏻💻 گوینده : رضا امینی
🎧 گوش دادن به پادکست
• @Podcode
Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت. 💡 عنوان : شروع برنامه نویسی 🧑🏻💻 گوینده : رضا امینی 🎧 گوش دادن به پادکست • @Podcode
دوستانی که قصد تولید محتوا دارن همین الان میتونن شروع کنن به ضبط و تجربه هاشون رو به اشتراک بزارن 😊
پادکست های بیشتر رو هم میتونید توی سایت ببینید و گوش بدید.
پادکست های بیشتر رو هم میتونید توی سایت ببینید و گوش بدید.
دوستانی که همیشه مشکل داشتن با آمارگیری برای پست ها و مقالات و.. توی لاراول
میتونید از این پکیج سبک و کاربردی زیر استفاده کنید که قابلیت فیلتر آمار بر اساس تاریخ ،چندین مدل ثبت آمار و ثبت کشور بازدیدکننده ، تعداد بازدید و.. رو بهتون میده .
https://github.com/rezaamini-ir/laravel-tracker
میتونید از این پکیج سبک و کاربردی زیر استفاده کنید که قابلیت فیلتر آمار بر اساس تاریخ ،چندین مدل ثبت آمار و ثبت کشور بازدیدکننده ، تعداد بازدید و.. رو بهتون میده .
https://github.com/rezaamini-ir/laravel-tracker
گیتهاب مجددا برای برنامه نویسان ایرانی دردسترس خواهد بود.
https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran/
https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran/
The GitHub Blog
Advancing developer freedom: GitHub is fully available in Iran
All developers should be free to use GitHub, no matter where they live. At the same time, GitHub respects and abides by US law, which means government sanctions have limited our ability to provide developers in some countries the full range of GitHub services.
ی توضیحی در خصوص نحوه عملکرد Eloquent بدم ک چرا ما بصورت Autocomplete به توابع Builder دسترسی نداریم.
در اصل لاراول موقعی که ما داریم روی یک سری دیتا که از مدل میگیریم و بعدش توابع کوئری بیلدر رو صدا میزنیم میاد و توی __call این متد رو از روی متد newQuery که داخل خود الکوئنت هستش صدا میزنه و پشت هر متد کالی که مربوط به کوئری بیلدر هست این متد صدا زده میشه.
مثلا وقتی ما داریم مینویسیم :
لاراول میاد و به این صورت این رو در میاره در پشت صحنه :
حالا اگه ما بخوایم به Autocomplete دسترسی داشته باشیم باید چیکار کنیم؟
فقط کافیه اول متد query رو صدا بزنیم و بعدش میبینم که لیست توابع Query Builder بالا میاد و در اصل متد Query میاد و در پشت صحنه با کمک متد newQuery یک آبجکت از روی کلاس Query 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 و پیشنهاد میشه تا وقتی که فیکس میشه این مورد توی کانفیگتون از کامند
فعلا ساپورتی انجام نمیشه روی ورژن 8 و پیشنهاد میشه تا وقتی که فیکس میشه این مورد توی کانفیگتون از کامند
phpcs-run استفاده کنید.Forwarded from Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت.
💡 عنوان : برنامه نویسی و ستون فقرات!
🧑🏻💻 گویندگان : دکتر نوید مقدم و رضا امینی
🎧 گوش دادن به پادکست
• @Podcode
💡 عنوان : برنامه نویسی و ستون فقرات!
🧑🏻💻 گویندگان : دکتر نوید مقدم و رضا امینی
🎧 گوش دادن به پادکست
• @Podcode
Podcode | پادکُد
پادکست جدیدی در سایت قرار گرفت. 💡 عنوان : برنامه نویسی و ستون فقرات! 🧑🏻💻 گویندگان : دکتر نوید مقدم و رضا امینی 🎧 گوش دادن به پادکست • @Podcode
اگر حتی ۱ درصد برای سلامت ستون فقراتتون ارزش قائلید این پادکست رو اصلا از دست ندید 👌🏻
ایزی پنل به ورژن 1.3 اپدیت شد.
ویژگی های جدید:
• قابلیت تنظیم و شخصی سازی زبان
• اضافه شدن قابلیت راستچین یا چپ چین بودن
• اضافه شدن فونت وزیر برای فارسی و عربی
• نمایش تصویر در List action
• سرچ در انواع روابط بصورت ajax در دوحالت معمولی و lazy
• اضافه شدن انیمیشن سرچ
• اضافه شدن Lazy mode برای اینپوت های Livewire
لینک گیتهاب:
https://github.com/rezaamini-ir/laravel-easypanel
ویژگی های جدید:
• قابلیت تنظیم و شخصی سازی زبان
• اضافه شدن قابلیت راستچین یا چپ چین بودن
• اضافه شدن فونت وزیر برای فارسی و عربی
• نمایش تصویر در List action
• سرچ در انواع روابط بصورت ajax در دوحالت معمولی و lazy
• اضافه شدن انیمیشن سرچ
• اضافه شدن Lazy mode برای اینپوت های Livewire
لینک گیتهاب:
https://github.com/rezaamini-ir/laravel-easypanel
همیشه که قرار نیست توی ریفکتور حجم کدارو کمتر کنیم باید خوانایی رو بالاتر ببریم ، یه نمونه از کد ریفکتور روی پروژه ی ایزی پنل هستش که میتونید این کامیت رو روی گیتهاب ببینید که چقد خوانا تر شده و افراد مختلف الان خیلی راحت تر میتونن روش کار کنن :
Refactor Stub Parser
Refactor Stub Parser