در روت هایی که از یک کنترلر یکسان استفاده میشود، به جای استفاده از کنترلر در هر روت میتوانید طبق تصویر بالا عمل کنید و روتهای مورد نظر را گروهبندی کنید
#Route #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
#Route #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
👍5🔥4👎1
🔻بهبود کارایی اپهای لاراولی
- قسمت اول
🔸 ۱. کش کردن کانفیگها
لاراول دستور کش کردن کانفیگ ها را ارائه میدهد که باعث بهبود عملکرد برنامه میشود، که با دستور زیر قابل انجام است:
اگر میخواهید کش را تازهسازی کنید میتوانید دستور بالا را دوباره اجرا کنید.
برای پاک کردن کش هم میتوانید از دستور زیر استفاده کنید:
🔸 ۲. کش کردن روتها
کش کردن روتها، یک قابلیت مهم برای افزایش کارایی برنامه شماست، بهویژه برای برنامههایی که دارای روتها و کانفیگ های فراوانی هستند.
و به کمک دستور زیر قابل انجام است:
برای پاک کردن کش روت ها هم میتوانید از دستور زیر استفاده کنید:
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
- قسمت اول
🔸 ۱. کش کردن کانفیگها
لاراول دستور کش کردن کانفیگ ها را ارائه میدهد که باعث بهبود عملکرد برنامه میشود، که با دستور زیر قابل انجام است:
php artisan config:cache
زمانی که این دستور را اجرا کنید، هرتغییری که ایجاد کنید هیچ تاثیری نخواهد داشت.اگر میخواهید کش را تازهسازی کنید میتوانید دستور بالا را دوباره اجرا کنید.
برای پاک کردن کش هم میتوانید از دستور زیر استفاده کنید:
php artisan config:clear
همچنین میتوانید به کمک OPcache، که کد های PHP را کش میکند، کارایی برنامه خود را افزایش دهید.🔸 ۲. کش کردن روتها
کش کردن روتها، یک قابلیت مهم برای افزایش کارایی برنامه شماست، بهویژه برای برنامههایی که دارای روتها و کانفیگ های فراوانی هستند.
و به کمک دستور زیر قابل انجام است:
php artisan route:cache
( توجه داشته باشید که هربار تغییری در روتها و کانفیگها ایجاد کنید، باید دستور بالا را دوباره اجرا کنید )برای پاک کردن کش روت ها هم میتوانید از دستور زیر استفاده کنید:
php artisan route:clear
#Performance #Tip👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥4👍1👎1
🔻بهبود کارایی اپهای لاراولی
- قسمت دوم
🔸 ۳. حذف سرویس های استفاده نشده
هنگامی که پروژه لاراولی خود را اجرا میکنید، لاراول بهصورت خودکار تعداد زیادی از Service Provider های لیست شده در
امّا معمولا شما به سرویس هایی مانند View Service یا Session Service نیاز ندارید، برای همین بسیاری از توسعهدهندگان تنظیمات پیشفرض لاراول را دنبال نمیکنند.
بنابراین، شما باید سرویس های غیرضروری را برای بهینهسازی کارایی لاراول غیرفعال کنید.
🔸 ۴. بهینهسازی Classmap
لاراول، برای ایجاد درخواستها چندین و چند فایل را فراخوانی میکند، بهطوری که حتی یک برنامه ساده لاراولی هم شامل فایل های زیادی خواهد بود.
یک ترفند ساده، میتواند این باشد که بیاییم و تمام فایل های اینکلود شده را درون یک فایل ترکیب کنیم. بدین ترتیب یک فایل فراخوانی و لود خواهد شد. برای انجام این کار، میتوانیم از دستور زیر کمک بگیریم:
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
- قسمت دوم
🔸 ۳. حذف سرویس های استفاده نشده
هنگامی که پروژه لاراولی خود را اجرا میکنید، لاراول بهصورت خودکار تعداد زیادی از Service Provider های لیست شده در
config/app.php
را فراخوانی میکند تا به شما در طول توسعه پروژه، کمک کند.امّا معمولا شما به سرویس هایی مانند View Service یا Session Service نیاز ندارید، برای همین بسیاری از توسعهدهندگان تنظیمات پیشفرض لاراول را دنبال نمیکنند.
بنابراین، شما باید سرویس های غیرضروری را برای بهینهسازی کارایی لاراول غیرفعال کنید.
🔸 ۴. بهینهسازی Classmap
لاراول، برای ایجاد درخواستها چندین و چند فایل را فراخوانی میکند، بهطوری که حتی یک برنامه ساده لاراولی هم شامل فایل های زیادی خواهد بود.
یک ترفند ساده، میتواند این باشد که بیاییم و تمام فایل های اینکلود شده را درون یک فایل ترکیب کنیم. بدین ترتیب یک فایل فراخوانی و لود خواهد شد. برای انجام این کار، میتوانیم از دستور زیر کمک بگیریم:
php artisan optimize --force
#Performance #Tip👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥3👍2👎1
🔻بهبود کارایی اپهای لاراولی
- قسمت سوم
🔸 ۵. بهینهسازی Composer
لاراول از ابزاری جدا بهنام کامپوزر استفاده میکند تا بر وابستگیها و پکیجهای مختلف نظارت کند، پس از نصب کامپوزر، بهصورت پیشفرض یک سری پکیجهایی مخصوص توسعه را فراخوانی خواهد کرد. این پکیجها فقط در طول توسعه مفید هستند و هنگامی که سایت شما بهصورت کامل نهایی شده است، دیگر به این پکیج ها نیاز نخواهیم داشت و فقط باعث کند شدن سایت میشود.
برای بهینه کردن عملکرد لاراول، بهترین راه ذخیره قسمت کشها و سشن ها در رم است. به این منظور میتوانید از Memcached کمک بگیرید که جز سریع ترین درایور های کش و سشن، برای بهبود کارایی لاراول است.
#Performance #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
- قسمت سوم
🔸 ۵. بهینهسازی Composer
لاراول از ابزاری جدا بهنام کامپوزر استفاده میکند تا بر وابستگیها و پکیجهای مختلف نظارت کند، پس از نصب کامپوزر، بهصورت پیشفرض یک سری پکیجهایی مخصوص توسعه را فراخوانی خواهد کرد. این پکیجها فقط در طول توسعه مفید هستند و هنگامی که سایت شما بهصورت کامل نهایی شده است، دیگر به این پکیج ها نیاز نخواهیم داشت و فقط باعث کند شدن سایت میشود.
composer install --prefer-dist --no-dev -o
🔸 ۶. استفاده از یک Cache و Session درایور سریعبرای بهینه کردن عملکرد لاراول، بهترین راه ذخیره قسمت کشها و سشن ها در رم است. به این منظور میتوانید از Memcached کمک بگیرید که جز سریع ترین درایور های کش و سشن، برای بهبود کارایی لاراول است.
#Performance #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥4👎2❤1
🔻بهبود کارایی اپهای لاراولی
- قسمت چهارم
🔸 ۷. کش کردن نتایج کوئریها
کش کردن نتایج کوئریهایی که مکرراً تکرار میشوند یک راهحل فوقالعاده برای افزایش کارایی لاراول است. برای این کار، من استفاده از تابع remember را پیشنهاد میدهم، که به صورت زیر قابل استفاده است:
لاراول، Eloquent را که یک ORM عالی برای تعامل با دیتابیسها است را ارائه میدهد.
زمانی که الاکوئنت از Eager Loading استفاده میکند، فقط اطلاعاتی که نیاز داریم را دریافت میکنیم و به مشکلاتی از قبیل خطای N+1 برنمیخوریم و کوئری اضافهای اجرا نخواهد شد.
بهعنوان مثال:
#Performance #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
- قسمت چهارم
🔸 ۷. کش کردن نتایج کوئریها
کش کردن نتایج کوئریهایی که مکرراً تکرار میشوند یک راهحل فوقالعاده برای افزایش کارایی لاراول است. برای این کار، من استفاده از تابع remember را پیشنهاد میدهم، که به صورت زیر قابل استفاده است:
$posts = Cache::remember('index.posts', 30, function()🔸 ۸. استفاده از "Eager Loading" برای دادهها
{
return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get();
});
لاراول، Eloquent را که یک ORM عالی برای تعامل با دیتابیسها است را ارائه میدهد.
زمانی که الاکوئنت از Eager Loading استفاده میکند، فقط اطلاعاتی که نیاز داریم را دریافت میکنیم و به مشکلاتی از قبیل خطای N+1 برنمیخوریم و کوئری اضافهای اجرا نخواهد شد.
بهعنوان مثال:
$books = App\Book::with('author')->get();دراینجا لاراول از آنجایی که از معماری ORM استفاده میکند، تنها دو کوئری دریافت میکند.
foreach ($books as $book) {
echo $book->author->name;
}
#Performance #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥5👎2
همهی ما میدانیم برای اینکه اپ لاراولی خود را درحالت «تعمیر» قرار دهیم (maintenance mode) ، تنها کافیست دستور زیر را اجرا کنیم:
حالا فرض کنید که ما نیاز داریم فقط خودمان به اپ دسترسی داشته باشیم، یا فقط افراد خاصی به اپ دسترسی داشته باشند. درهمچین موقعیتی میتوانیم از نشانه
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
php artisan downبا اجرای این دستور، هرکسی که قصد دارد درحالت «تعمیر» به اپ دسترسی پیدا کند، با خطای ۵۰۳ روبرو میشود.
حالا فرض کنید که ما نیاز داریم فقط خودمان به اپ دسترسی داشته باشیم، یا فقط افراد خاصی به اپ دسترسی داشته باشند. درهمچین موقعیتی میتوانیم از نشانه
secret--
در دستور php artisan down
مانند زیر استفاده کنیم:php artisan down --secret="1a218ffd90b12860625f694d9f5bcca6"
این نشانه باعث میشود که هرکس با داشتن مقدار این secret بتواند حالت «تعمیر» را در اپ ما دور بزند. دراین حالت ما میتوانیم به اپ خود درهنگام برقرار بودن حالت «تعمیر»، بهشکل زیر دسترسی داشته باشیم:https://localhost/1a218ffd90b12860625f694d9f5bcca6
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥9👍3👎2
🔻 متغیر loop در Blade
🔻 تا به حال خواستهاید در حلقه foreach در فایل های blade اولین بار و یا آخرین باری که یک حلقه اجرا میشود و یا اینکه کجای حلقه هستید را تشخیص دهید؟ تا به الان یک متغیر
چند نمونه از کاربرد این متغیر را در عکس بالا میتوانید ببینید.
#Blade #Loop
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔻 تا به حال خواستهاید در حلقه foreach در فایل های blade اولین بار و یا آخرین باری که یک حلقه اجرا میشود و یا اینکه کجای حلقه هستید را تشخیص دهید؟ تا به الان یک متغیر
i$
تعریف میکردیم و هربار یک واحد به متغیر اضافه میکردیم. اما داخل دایرکتیو foreach@
متغیری وجود دارد به اسم loop و حاوی اطلاعاتی هست که بهش نیاز پیدا میکنیم.چند نمونه از کاربرد این متغیر را در عکس بالا میتوانید ببینید.
#Blade #Loop
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
🔥8👍3❤2
🔸در لاراول، برای بررسی وجود یک داده در دیتابیس میتوانید از متود
این روش قدیمی است، اما هنوز هم راهکاری عالی برای این کار است.
#Eloquent #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
()exists
و ()doesNotExists
در الاکوئنت استفاده کنید. این روش قدیمی است، اما هنوز هم راهکاری عالی برای این کار است.
#Eloquent #Tip
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
👍9🔥1
📍در لاراول برای اینکه متوجه شوید چهچیزهایی کش شدهاند، میتوانید بهسادگی دستور زیر را در محیط پروژه اجرا کنید:
👤 Mahdiyar
💎 Channel: @DevelopixLaravel
php artisan about --only cache
#Artisan #Tip👤 Mahdiyar
💎 Channel: @DevelopixLaravel
👍5
سه روش برای هندل کوئری های فاقد محتوا برای کاربر
#Response
👤 A.l A
💎 Channel: @DevelopixLaravel
#Response
👤 A.l A
💎 Channel: @DevelopixLaravel
❤9🔥1