20 نکته و ترفند Eloquent در لاراول
🔺 الکونت (Eloquent) یک نگاشت رابطه ای شی (ORM) است که به طور پیش فرض در فریمورک لاراول گنجانده شده است. ORM نرمافزاری است که با نمایش دادهها بهعنوان اشیاء، مدیریت سوابق پایگاهداده را تسهیل میکند و بهعنوان لایهای از آبسترک در بالای موتور پایگاه د...
🌐 : 20 نکته و ترفند Eloquent در لاراول
#لاراول #الکونت_لاراول #laravel
🔺 الکونت (Eloquent) یک نگاشت رابطه ای شی (ORM) است که به طور پیش فرض در فریمورک لاراول گنجانده شده است. ORM نرمافزاری است که با نمایش دادهها بهعنوان اشیاء، مدیریت سوابق پایگاهداده را تسهیل میکند و بهعنوان لایهای از آبسترک در بالای موتور پایگاه د...
🌐 : 20 نکته و ترفند Eloquent در لاراول
#لاراول #الکونت_لاراول #laravel
فرآیندها و دستورات Artisan در لاراول : بررسی عمیق
🔺 رابط خط فرمان (CLI) می تواند ابزار قدرتمندی برای توسعه دهندگان باشد. می توانید از آن به عنوان بخشی از گردش کار توسعه خود برای افزودن ویژگی های جدید به برنامه خود و انجام وظایف در محیط تولید استفاده کنید. لاراول به شما این امکان را می دهد که "دستورهای...
🌐 : فرآیندها و دستورات Artisan در لاراول : بررسی عمیق
#لاراول #لاراول_artisan #laravel #artisan
🔺 رابط خط فرمان (CLI) می تواند ابزار قدرتمندی برای توسعه دهندگان باشد. می توانید از آن به عنوان بخشی از گردش کار توسعه خود برای افزودن ویژگی های جدید به برنامه خود و انجام وظایف در محیط تولید استفاده کنید. لاراول به شما این امکان را می دهد که "دستورهای...
🌐 : فرآیندها و دستورات Artisan در لاراول : بررسی عمیق
#لاراول #لاراول_artisan #laravel #artisan
معماری ماژولار در لاراول : بررسی کامل همراه با مثال
🔺 لاراول که به دلیل سینتکس زیبا و ویژگی های قدرتمندش مشهور است، همچنین پایه ای قوی برای معماری مدولار فراهم می کند. ماژولار کردن برنامه لاراول مزایایی مانند بهبود قابلیت نگهداری، مقیاس پذیری و سازماندهی را ارائه می دهد. در این مقاله، به جنبه های کلیدی...
🌐 : معماری ماژولار در لاراول : بررسی کامل همراه با مثال
#لاراول #ماژولار_نویسی #laravel
🔺 لاراول که به دلیل سینتکس زیبا و ویژگی های قدرتمندش مشهور است، همچنین پایه ای قوی برای معماری مدولار فراهم می کند. ماژولار کردن برنامه لاراول مزایایی مانند بهبود قابلیت نگهداری، مقیاس پذیری و سازماندهی را ارائه می دهد. در این مقاله، به جنبه های کلیدی...
🌐 : معماری ماژولار در لاراول : بررسی کامل همراه با مثال
#لاراول #ماژولار_نویسی #laravel
چقدر درباره اهمیت Todo در تست می دانید؟
در PHPunit، معمولا وقتی todo را در برخی از کدها می نویسم، به این دلیل است که چیز مهمی در مورد کدی که به آن نزدیک هستیم میفهمیم، اما زمانی برای اصلاح یا تغییر آن نداریم. این واقعیت که شما عمیقاً در درک کد در آن زمان هستید بسیار ارزشمند است. احتمالاً در زمانی که کار را می نویسید، بیشترین اطلاعات را در مورد آن کد دارید.
برای مثال شما کد نوشته اید و از نکات آن اطلاع دارید. شاید مجبور شده باشید بدون تست نوشتن ادامه دهید. چگونه می خواهید همه سناریوها را یک هفته، یک ماه بعد به خاطر بسپارید؟ آیا هرگز به آن برمی گردی؟ من فکر می کنم زمانی که ما در حال نوشتن کد هستیم، بیشتر از موارد استفاده می دانیم. بنابراین، این زمان مناسب برای نوشتن تست ها است.
یا حداقل پوستههای تستها را با todos بنویسید. به این ترتیب، میدانید وقتی دوباره روی آن کار میکنید، چه چیزی را باید تست کنید. مهمتر این است که بدانید با نگاه کردن به todo ها چه چیزی تست نمیشود. در صورت مشاهده 20 تست واحد، ممکن است فرض کنید کل فرآیند در حال تست است. اما، هنگامی که برخی از تستهای todo را میبینید، مناطق خاصی را میشناسید که تست نشدهاند و مناطقی را میشناسید که نمیتوانید به طور کامل به آنها وابسته باشید.
با PHPUnit می توانیم تست ها را به عنوان ناقص علامت گذاری کنیم. این بدان معنی است که مجموعه تست واحد همچنان اجرا می شود، اما ما شروع به مشاهده نشانه هایی از تست هایی خواهیم کرد که ناقص هستند. اگر تستهای todo ما به رشد خود ادامه دهند، آنها را در هر تست مشاهده خواهیم کرد.
در خروجی خود، می دانید که پوشش شما به روشی اشتباه پیش می رود. این به شما کمک می کند تا بفهمید که باید تست های بیشتری بنویسید.
در نهایت، بسته به تیم خود، ممکن است افراد خاصی داشته باشید که به انواع خاصی از todo نیاز دارند، یا ممکن است بخواهید شخص جدیدی را وارد کنید. با نوشتن تستهای todo، میتوانید به کسی وظایف واضحی بدهید: تستها را پر کنید.
اجرای تست های Todo
برای اینکه فرآیند علامتگذاری یک تست آسانتر شود، یک متد را در کلاس تست پایه خود قرار دادم. (شما همچنین می توانید این را به عنوان یک trait بنویسید و آن را در کلاس های تست قرار دهید که دارای todo هستند، اما داشتن آن در کلاس تست پایه ساده تر است).
Anophel آنوفل
#لاراول #آنوفل #laravel #تست_نویسی #تست #php #phpunit
در PHPunit، معمولا وقتی todo را در برخی از کدها می نویسم، به این دلیل است که چیز مهمی در مورد کدی که به آن نزدیک هستیم میفهمیم، اما زمانی برای اصلاح یا تغییر آن نداریم. این واقعیت که شما عمیقاً در درک کد در آن زمان هستید بسیار ارزشمند است. احتمالاً در زمانی که کار را می نویسید، بیشترین اطلاعات را در مورد آن کد دارید.
برای مثال شما کد نوشته اید و از نکات آن اطلاع دارید. شاید مجبور شده باشید بدون تست نوشتن ادامه دهید. چگونه می خواهید همه سناریوها را یک هفته، یک ماه بعد به خاطر بسپارید؟ آیا هرگز به آن برمی گردی؟ من فکر می کنم زمانی که ما در حال نوشتن کد هستیم، بیشتر از موارد استفاده می دانیم. بنابراین، این زمان مناسب برای نوشتن تست ها است.
یا حداقل پوستههای تستها را با todos بنویسید. به این ترتیب، میدانید وقتی دوباره روی آن کار میکنید، چه چیزی را باید تست کنید. مهمتر این است که بدانید با نگاه کردن به todo ها چه چیزی تست نمیشود. در صورت مشاهده 20 تست واحد، ممکن است فرض کنید کل فرآیند در حال تست است. اما، هنگامی که برخی از تستهای todo را میبینید، مناطق خاصی را میشناسید که تست نشدهاند و مناطقی را میشناسید که نمیتوانید به طور کامل به آنها وابسته باشید.
با PHPUnit می توانیم تست ها را به عنوان ناقص علامت گذاری کنیم. این بدان معنی است که مجموعه تست واحد همچنان اجرا می شود، اما ما شروع به مشاهده نشانه هایی از تست هایی خواهیم کرد که ناقص هستند. اگر تستهای todo ما به رشد خود ادامه دهند، آنها را در هر تست مشاهده خواهیم کرد.
در خروجی خود، می دانید که پوشش شما به روشی اشتباه پیش می رود. این به شما کمک می کند تا بفهمید که باید تست های بیشتری بنویسید.
در نهایت، بسته به تیم خود، ممکن است افراد خاصی داشته باشید که به انواع خاصی از todo نیاز دارند، یا ممکن است بخواهید شخص جدیدی را وارد کنید. با نوشتن تستهای todo، میتوانید به کسی وظایف واضحی بدهید: تستها را پر کنید.
اجرای تست های Todo
برای اینکه فرآیند علامتگذاری یک تست آسانتر شود، یک متد را در کلاس تست پایه خود قرار دادم. (شما همچنین می توانید این را به عنوان یک trait بنویسید و آن را در کلاس های تست قرار دهید که دارای todo هستند، اما داشتن آن در کلاس تست پایه ساده تر است).
Anophel آنوفل
#لاراول #آنوفل #laravel #تست_نویسی #تست #php #phpunit
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف
چگونه با خواندن کد، مهارت های توسعه لاراول خود را بهبود بخشید؟!
راه های مختلفی برای بهبود مهارت ها در توسعه لاراول وجود دارد یکی از این راه حل ها که بسیار مهم است خواندن کد است.
از سه روش زیر میتوانید کد خوانی را شروع کنید:
✅1. از خود فریمورک لاراول
✅2. خواندن کد های پکیج
✅3.تحقیق و جست و جو در یک موضوع خاص
1.از خود فریمورک لاراول
به عنوان مثال، اگر از متدی استفاده می کنید که توسط فریمورک (یا هر پکیج دیگری) ارائه شده است، اون متد را بررسی کنید و ببینید واقعاً چه کاری انجام می دهد. با انجام این کار، باعث می شود:
بررسی کنید که متدی که از آن استفاده می کنید در واقع همان متدی است که به آن نیاز دارید. هنگام جستجو در یک کلاس، ممکن است متوجه شوید که در واقع متد های دیگری وجود دارد که برای نیازهای شما مناسب تر است.
متد ها را بخوانید و ببینید راه حل چگونه اجرا شده است. این می تواند به شما کمک کند تا با متد ها و رویکردهای جدید فکر کنید.
دانش خود را در مورد عملکرد درونی یک ویژگی خاص بهبود بخشید.
همچنین می توانید با مطالعه آنلاین از طریق issues GitHub، درخواستها، انجمنها ، درک درستی از زمینه پشت کد داشته باشید.
2. یادگیری از پکیج ها
همچنین میتوانید زمانی که با هر پکیجی که در پروژه خود کار میکنید، از رویکرد مشابهی استفاده کنید.
بنابراین اگر به فکر استفاده از یک پکیج جدید در پروژه خود هستید، ممکن است بخواهید قبل از دانلود آن، چند دقیقه را به خواندن کد پکیج اختصاص دهید. این به شما کمک می کند تا درک کنید که پکیج چگونه ویژگی های مورد نیاز شما را پیاده سازی می کند. در نتیجه، این می تواند شما را بیشتر در معرض طرز فکر دیگران قرار دهد.
همچنین گاهی اوقات این باعث می شد که بعد از اینکه متوجه شدید راه حل واقعاً ساده است، از استفاده از یک پکیج منصرف شوید و خودتان دست به کد شوید.
مثلا با خواندن کد های پکیج
3.تحقیق و جست و جو در یک موضوع خاص
در این روش شما خواندن کد را به قطعات کوچکتر تقسیم کنم. مثلا این کار را با اختصاص حدود نیم ساعت در روز به خواندن یک موضوع خاص کنید.
به عنوان مثال، فرض کنید که میخواهید درباره نحوه عملکرد سیستم صف در لاراول بیشتر بدانید. بنابراین هر روز حدود نیم ساعت داکیومنت های صف ها و کد های آن را میخوانید و هر وقت به تمامی موارد داخل این داکیومنت و کد پرداختید میتوانید سراغ بخش دیگر از لاراول بروید به عنوان مثال سیستم احراز هویت لاراول.
آنوفل | Anophel
#لاراول #کد #توسعه_مهارت #laravel #code
راه های مختلفی برای بهبود مهارت ها در توسعه لاراول وجود دارد یکی از این راه حل ها که بسیار مهم است خواندن کد است.
از سه روش زیر میتوانید کد خوانی را شروع کنید:
✅1. از خود فریمورک لاراول
✅2. خواندن کد های پکیج
✅3.تحقیق و جست و جو در یک موضوع خاص
1.از خود فریمورک لاراول
به عنوان مثال، اگر از متدی استفاده می کنید که توسط فریمورک (یا هر پکیج دیگری) ارائه شده است، اون متد را بررسی کنید و ببینید واقعاً چه کاری انجام می دهد. با انجام این کار، باعث می شود:
بررسی کنید که متدی که از آن استفاده می کنید در واقع همان متدی است که به آن نیاز دارید. هنگام جستجو در یک کلاس، ممکن است متوجه شوید که در واقع متد های دیگری وجود دارد که برای نیازهای شما مناسب تر است.
متد ها را بخوانید و ببینید راه حل چگونه اجرا شده است. این می تواند به شما کمک کند تا با متد ها و رویکردهای جدید فکر کنید.
دانش خود را در مورد عملکرد درونی یک ویژگی خاص بهبود بخشید.
همچنین می توانید با مطالعه آنلاین از طریق issues GitHub، درخواستها، انجمنها ، درک درستی از زمینه پشت کد داشته باشید.
2. یادگیری از پکیج ها
همچنین میتوانید زمانی که با هر پکیجی که در پروژه خود کار میکنید، از رویکرد مشابهی استفاده کنید.
بنابراین اگر به فکر استفاده از یک پکیج جدید در پروژه خود هستید، ممکن است بخواهید قبل از دانلود آن، چند دقیقه را به خواندن کد پکیج اختصاص دهید. این به شما کمک می کند تا درک کنید که پکیج چگونه ویژگی های مورد نیاز شما را پیاده سازی می کند. در نتیجه، این می تواند شما را بیشتر در معرض طرز فکر دیگران قرار دهد.
همچنین گاهی اوقات این باعث می شد که بعد از اینکه متوجه شدید راه حل واقعاً ساده است، از استفاده از یک پکیج منصرف شوید و خودتان دست به کد شوید.
مثلا با خواندن کد های پکیج
spatie/laravel-permission
می توانید خیلی چیز های جدید یاد بگیرید.3.تحقیق و جست و جو در یک موضوع خاص
در این روش شما خواندن کد را به قطعات کوچکتر تقسیم کنم. مثلا این کار را با اختصاص حدود نیم ساعت در روز به خواندن یک موضوع خاص کنید.
به عنوان مثال، فرض کنید که میخواهید درباره نحوه عملکرد سیستم صف در لاراول بیشتر بدانید. بنابراین هر روز حدود نیم ساعت داکیومنت های صف ها و کد های آن را میخوانید و هر وقت به تمامی موارد داخل این داکیومنت و کد پرداختید میتوانید سراغ بخش دیگر از لاراول بروید به عنوان مثال سیستم احراز هویت لاراول.
آنوفل | Anophel
#لاراول #کد #توسعه_مهارت #laravel #code
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف
در فرایند تستنویسی در لاراول، اغلب اوقات نیاز است که بررسی کنیم آیا رکوردی از دیتابیس حذف شده است یا خیر. روش رایج استفاده از متد assertDatabaseMissing است.
روش سنتی با assertDatabaseMissing
در این روش، برای بررسی حذف شدن یک رکورد خاص از دیتابیس، از متد assertDatabaseMissing استفاده میکنیم.
روش بهینه با assertModelMissing
از طرف دیگر، میتوانیم از متد assertModelMissing استفاده کنیم که به طور خاص برای بررسی مدلها طراحی شده است. این متد کد را کوتاهتر و خواناتر میکند. کد نمونه داخل تصویر را مشاهده کنید.
مزایای assertModelMissing
- کد کوتاهتر و خواناتر.
- تمرکز بیشتر بر روی منطق مدل به جای جزییات دیتابیس.
- کمک به کلین کد و بهبود نگهداری کد.
استفاده از assertModelMissing میتواند به بهبود کیفیت کد و سرعت تستنویسی کمک کند و به ویژه در پروژههای بزرگ و پیچیده، مزایای خود را نشان دهد.
آنوفل| Anophel
#لاراول #کدنویسی #laravel #تست_نویسی
روش سنتی با assertDatabaseMissing
در این روش، برای بررسی حذف شدن یک رکورد خاص از دیتابیس، از متد assertDatabaseMissing استفاده میکنیم.
روش بهینه با assertModelMissing
از طرف دیگر، میتوانیم از متد assertModelMissing استفاده کنیم که به طور خاص برای بررسی مدلها طراحی شده است. این متد کد را کوتاهتر و خواناتر میکند. کد نمونه داخل تصویر را مشاهده کنید.
مزایای assertModelMissing
- کد کوتاهتر و خواناتر.
- تمرکز بیشتر بر روی منطق مدل به جای جزییات دیتابیس.
- کمک به کلین کد و بهبود نگهداری کد.
استفاده از assertModelMissing میتواند به بهبود کیفیت کد و سرعت تستنویسی کمک کند و به ویژه در پروژههای بزرگ و پیچیده، مزایای خود را نشان دهد.
آنوفل| Anophel
#لاراول #کدنویسی #laravel #تست_نویسی
کش در لاراول : همه چیز درباره Laravel Caching
🔺 کش برای دستیابی به عملکرد بالا و مقیاس پذیری ضروری است. برای جلوگیری از تاخیر در APIها و کاهش زمان بارگذاری صفحه، اجرای استراتژی ذخیره سازی مناسب درست از مرحله توسعه بسیار مهم است. لاراول یکی از محبوبترین فریم ورکهای PHP است، بنابراین پیادهسازی اس...
🌐 : کش در لاراول : همه چیز درباره Laravel Caching
#لاراول #کش_لاراول #laravel
🔺 کش برای دستیابی به عملکرد بالا و مقیاس پذیری ضروری است. برای جلوگیری از تاخیر در APIها و کاهش زمان بارگذاری صفحه، اجرای استراتژی ذخیره سازی مناسب درست از مرحله توسعه بسیار مهم است. لاراول یکی از محبوبترین فریم ورکهای PHP است، بنابراین پیادهسازی اس...
🌐 : کش در لاراول : همه چیز درباره Laravel Caching
#لاراول #کش_لاراول #laravel
در لاراول بین with و load چه تفاوتی وجود دارد؟
وقتی از with استفاده میکنیم، Laravel تلاش میکند تمام اطلاعات مرتبط با رابطه را به صورت eager loading از پیش بارگذاری کند، یعنی دادهها با یک کوئری از دیتابیس به صورت همزمان خوانده میشوند. این کار معمولاً برای بهینهسازی عملکرد و کاهش تعداد کوئریها به دیتابیس مفید است.
از طرف دیگر، load به ما اجازه میدهد که دادههای یک رابطه را به صورت lazy loading، و تنها در صورتی که به آنها نیاز داشته باشیم، بارگذاری کنیم. این متد به دلیل کارآمدی زمانی مناسب است که نیازمندیم که دادهها به صورت پویا و بسته به شرایط خاصی بارگذاری شوند.
خلاصه کلام:
متد with: برای بارگذاری eager loading که دادهها به صورت پیشفرض با یک کوئری از پایگاه داده درخواست میشوند.
متد load: برای بارگذاری lazy loading که دادهها فقط زمانی بارگذاری میشوند که به آنها نیاز داریم و به صورت جداگانه از هر مدل فراخوانی میشود.
Anophel آنوفل
#لاراول #کد_نویسی #laravel #php
وقتی از with استفاده میکنیم، Laravel تلاش میکند تمام اطلاعات مرتبط با رابطه را به صورت eager loading از پیش بارگذاری کند، یعنی دادهها با یک کوئری از دیتابیس به صورت همزمان خوانده میشوند. این کار معمولاً برای بهینهسازی عملکرد و کاهش تعداد کوئریها به دیتابیس مفید است.
از طرف دیگر، load به ما اجازه میدهد که دادههای یک رابطه را به صورت lazy loading، و تنها در صورتی که به آنها نیاز داشته باشیم، بارگذاری کنیم. این متد به دلیل کارآمدی زمانی مناسب است که نیازمندیم که دادهها به صورت پویا و بسته به شرایط خاصی بارگذاری شوند.
خلاصه کلام:
متد with: برای بارگذاری eager loading که دادهها به صورت پیشفرض با یک کوئری از پایگاه داده درخواست میشوند.
متد load: برای بارگذاری lazy loading که دادهها فقط زمانی بارگذاری میشوند که به آنها نیاز داریم و به صورت جداگانه از هر مدل فراخوانی میشود.
Anophel آنوفل
#لاراول #کد_نویسی #laravel #php