لطفا صبر کنید ...

۷ راهکار برای بهبود عملکرد یک توسعه دهنده لاراول

الهه قنبری

توسط الهه قنبری

مدیر
دیدگاه ها: 2
بازدید ها : 1760
رایگان
هدف ما این است که شما، در بالاترین سطح طراحی و توسعه وب باشید.

ثبت نام کنید

لاراول از آغاز انتشار اولین نسخه آن در سال ۲۰۱۱ تا الان رشد خوبی داشته است. در این مقاله قصد داریم تا ۷ راهکار جهت بهینه‌سازی عملکرد یک برنامه‌نویس یا توسعه‌دهنده لاراول را، مورد بررسی قرار دهیم. با لیداوب همراه باشید.


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

در این مقاله ۷ نکته را که باعث بهبود عملکرد یک توسعه‌دهنده لاراول می‌شود، بررسی می‌کنیم.

۱. افزایش استفاده از دستورات artisan

لاراول دارای یک ابزار بسیار مفید و منحصر‌بفرد به‌نام artisan است، که در بالا بردن کارایی این فریم‌ورک محبوب، بسیار موثر است. این دستور بسیار مفید است بویژه زمانی‌که توسعه‌دهنده لاراول، مسیر‌ها و پیکربندی‌های زیادی را ایجاد می‌کند. او به سادگی یک کش یا یک آرایه ساده ایجاد می‌کند. سپس لاراول به جای بارگزاری شئ واقعی، کش تنظیمات را به سرعت بارگزاری می‌کند.

نمونه‌ای از تنظیمات مشترک: 

php artisan config:cache
php artisan rout:cache
php artisan optimize--force

اما فراموش نکنید، پس از ایجاد تغییرات در تنظیمات یا فایل مسیر، دوباره این دستور را اجرا کنید. اگر این کار را انجام ندهید، لاراول تغییرات را اعمال نمی‌کند؛ زیرا که تنظیمات قبلا از حافظه کش بارگزاری شده است.
همچنین، داده‌های کاربر، تنظیمات و مکان‌ها (لوکیشن) را هم کش می‌کنیم. در این حالت تعداد پرس‌‌وجوهای sql محدود می شود. پس از انجام تغییرات اطمینان حاصل کنید که کش معتبر است، مطمئن شوید که شاخص‌های پایگاه داده درست است؛ همچنین تنظیمات، مسیرها و viewهای خود را کش کنید.

php artisan config:clear
php artisan route:cache
php artisan view:clear

ابزار PHP Opcache را نصب و راه‌اندازی کنید. OPcache کد PHP شما را کش می‌کند، و دیگر نیازی به کامپایل مجدد آن نخواهید داشت.

۲. حذف سرویس‌های استفاده نشده (Remove Unused Service)

گاهی اوقات بهتر است، تمام سرویس‌های خود را هنگام پیکربندی تنظیمات، بارگزاری نکنید؛ و سرویس‌های غیر‌معمول و استفاده‌نشده را در فایل تنظیمات خود غیر‌فعال کنید. یک یادداشت به ارائه دهنده خدمات استفاده نشده برای غیرفعال کردن آن‌ها در فایل onfig/app.php اضافه کنید. با این حال قبل از نوشتن یادداشت، مطمئن شوید که این کار عملکرد برنامه‌ را مختل نمی‌کند.

۳. استفاده کمتر از پلاگین‌ها (Plugins Laravel Developer)

 طیف گسترده‌ای از پلاگین‌ها برای لاراول وجود دارد که به شما اجازه می‌دهد، براحتی قابلیت‌های بیشتری را به این فریم‌ورک اضافه کنید. با استفاده از این قابلیت افزایش یافته، کتابخامه‌ها و فایل‌های بیشتری بارگزاری می‌شود؛ که این امر باعث کندی در کار خواهد شد. با نگاهی به ارائه دهنده‌هایی که از طریق فایل config/app.php بارگزاری می‌شوند، اطمینان حاصل کنید که استفاده از موارد غیر‌ضروری کاهش می‌یابد. علاوه بر این لاراول از Composer برای مدیریت کامپوننت‌ها استفاده می‌کند؛ بنابراین اگر از فایل composer.json استفاده نکنیم، وابستگی‌ها یا سرویس‌هایی که در حال بارگزاری هستند کاهش می‌یابند.

۴. مشخص کردن پرس‌و‌جو‌ها (Profiling Your Queries)

اگر هنگام اجرای یک query در یک شئ Eloquent ORM، در مورد اتفاقات پشت صحنه کنجکاو هستید، باید یک پکیج profiler نصب نمایید. برای این‌کار شما می‌توانید https://github.com/loic-sharma/profiler را انتخاب کنید، که یک نوع از پروفایلر لاراول ۳ است. یا https://github.com/barryvdh/laravel-debugbar که یک ادغام کلی با پکیج PHP Debug Bar است. پس از نصب این پکیج یک نوار ابزار در پایین هر صفحه view اضافه می‌شود؛ که پرس‌و‌جو‌های sql‌ای که به یک view داده شده است و میزان حافظه استفاده شده توسط یک درخواست را نشان می‌دهد. هنگامی که با مجموعه داده‌های کوچک‌تر در پایگاه داده محلی سر و کار دارید؛ اغلب این موضوع بهترین راه شناسایی تنگناهای احتمالی در کد برنامه است.

۵. اعمال روش بارگزاری تنبل یا Eager Loading روی داده‌های لاراول

لاراول از ORM Eloquent استفاده می‌کند تا به راحتی مدل‌های اشیا را به جداول پایگاه داده‌ای که از آن پشتیبانی می‌کند، نگاشت کند. با چند فایل ساده می‌توانید ساختار اشیای خود را نگاشت کنید. Eloquent تمام واکنش‌های مناسبی که برای عملیات CRUD (ایجاد، بازیابی، ویرایش، حذف) موردنیاز است، انجام می‌دهد. زمانی که Eloquent این کارها را انجام می‌دهد، از روش بارگزاری تنبل یا Eager Loading استفاده می‌کند.
این به این معنی است که برای هر داده مرتبط (دارای ارتباط در پایگاه داده)، مانند جزئیات نویسنده برای یک کتاب، Eloquent در واقع داده‌ها را بازيابی نمی‌كند، مگر آن‌كه به طور خاص در جايي ديگر در كد به آن رجوع شود. ممکن است گرفتن یک یا دو query در صفحه‌ای که جزئیات پرس‌و‌جو را به شما نشان می‌دهد، بی ضرر باشد؛ ولی در صورت داشتن مجموعه‌ای از کتاب‌ها queryهای بی‌شماری را در نتیجه خروجی برایمان بازمی‌گرداند، که این موضوع در ترافیک بالای سایت کارایی را به شدت کاهش می‌دهد.
به جای این روش، شما می‌توانید با استفاده از "بارگزاری تنبل"، پرس‌و‌جو‌های خود را تنظیم کنید، به این معنی که هر یک از مدل‌های اشیای دارای ارتباط را به عنوان بخشی از پرس و جو اولیه خود بازیابی کنید. در این صورت تعداد queryها خیلی کمتر می‌شود، طوری‌که بلافاصله می‌توانید از آن‌ها استفاده کنید.

کد این عمل به صورت معمول :

$books = app\book: :all();
foreach ($books as $book){
echo $book->author->name;
}

کد یک پرس‌و‌جو به صورت تنبل یا lazily loaded :

$books = app\book: :with('author')->get();
foreach ($books as $book){
echo $book->author->name;
}

۶. Assetsهای از‌پیش‌‌کامپایل‌ شده (Precompile Assets)

برای یک توسعه‌دهنده، داشتن تمام Assets در فایل‌های جداگانه (مانند مسیر‌ها و فایل‌های پیکربندی) برای نگهداری کد، بسیار مفید است. ولی این موضوع در مرحله تولید کد ضروری نیست. برای انجام این کار، لاراول چند دستورالعمل artisan دارد که می‌توانید قبل از استقرار سایت خود آن را اجرا کنید:

php artisan optimize
php artisan config:cache
php artisan route:cache

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

۷. کامپایلر JIT

کامپیوتر نمی‌تواند ابتدا کد PHP را درک کند. شما نمی‌توانید کد PHP را به bytecodeای که کامپیوتر بتواند آن را اجرا کند، تبدیل کنید. به همین منظور انجام این کار از طریق واسطه انجام می‌شود، مانند موتور Zend که فایل‌های پی‌اچ‌پی شما را تفسیر می‌کند، و برطبق برنامه C آن را اجرا می‌کند. ممکن است حدس بزنید، که این کار آهسته است. هر بار که سرور شما یک فایل پی‌اچ‌پی را اجرا می‌کند، باید آن را توسط تجزیه‌کننده AST به نشانه‌ها، تبدیل کند و سپس آن را تفسیر کند. متأسفانه در این‌ روش، عمل کامپایل باید در هر بار اجرای برنامه صورت گیرد، هرچند این کار نتایج مشابه هم دارد.
برای بالا رفتن سرعت اجرای برنامه، بایستی برنامه را یک‌بار در ابتدا کامپایل کنید و آن را هر بار اجرا کنید، و این کاری است که یک کامپایلر JIT برای شما انجام می‌دهد. استفاده از کامپایلر JIT یکی دیگر از روش‌های بهبود عملکرد توسعه‌دهنده لاراول است.
کامپایلر JIT توصیه‌شده برای لاراول، HHVM است. ایجاد و استفاده گسترده آن توسط فیس بوک بوده است، همچنین توسط ویکی‌پدیا، Etsy و هزاران مورد دیگر استفاده می‌شود.

نتیجه گیری

بنابراین با انجام این موارد، اکنون توسعه دهنده لاراول می‌داند که چگونه عملکرد خود را در طول توسعه یک برنامه وب بهبود بخشد. با این حال برای انجام این کارها، اطلاعات کافی موردنیاز و صرف زمان لازم است. 

 جدید ترین مقالات درباره فریم ورک محبوب لاراول را در لیداوب جستجو کنید.

4.3 از 4 رای

 مطالب مرتبط  

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

متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند



دیدگاه ها (2)

در حال بارگزاری ...

برترین های