• ارسال کننده: علی یزدی مقدم
  • تاریخ انتشار: ۱۳۹۲ / ۱۰ / ۲۰

نکاتی برای بهینه سازی کد های php

phpfast

همچنان که ترافیک یک وب سایت بالا می رود باری که روی سرور آن قرار می گیرد افزایش می یابد و علاوه بر اینکه سبب افزایش هزینه های هاستینگ می شود سرعت لود شدن صفحات هم کمتر می شود و اگر به روش درستی این مشکل حل نشود یک وب سایت پرترافیک به جای سود دهی تبدیل به کاری پر خرج و زیان ده می شود. این معضل را باید به روش های مختلف مهار کرد و یک روش به تنهایی کارساز نیست اگر توفیقی باشد از این به بعد در یاد بگیر دات کام به معرفی راهکار های مختلف خواهیم پرداخت اما اولین کاری که در چنین مواقع باید حتما انجام شود بهینه سازی کد ها و برنامه ای است که آن وب سایت با آن نوشته شده است. در این مقاله به ارائه راهکارهایی برای بهینه سازی کد های php  و همچنین افزایش سرعت اجرای آنها می پردازیم.

  • اگر یک صفحه می تواند به صورت استاتیک اجرا شود سعی نکنید به روش دیگر آنرا نمایش دهید چون سبب کاهش سرعت اجرای آن می شود.
  • تا حد امکان از دستور echo استفاده کنید چون این دستور سریعتر از print است.
  • برای نمایش عبارت ها بهتر است چند بار از دستور echo استفاده کنید تا پارامتر ها را در کنار یکدیگر نمایش دهید چون استفاده از عملگر الحاقی ” . ” کد ها را کوتاه تر می کند اما سرعت اجرای اسکریپت افزایش می یابد.
  • مقدار ماکزیمم را برای یک حلقه (لوپ) قبل از شروع حلقه قرار دهید و نه در داخل حلقه.
  • متغییر ها را بازنشانی کنید تا حافظه را برای اجرای اسکریپت خالی کنید به خصوص برای متغییر های ماتریسی یا arrays.
  • تا حد امکان از جادوگری پرهیز نمایید! با دستوراتی مانند:

    __get, __set, __autoload

  • استفاده از دستور require_conce معمولاً گران تمام می شود!
  • سعی کنید برای دستور های require , include از لینک کامل استفاده کنید چون اجرای این دستورها زمان کمتری می گیرد.
  • اگر می خواهید بدانید چه موقع اسکریپت شما شروع به اجرا می کند بهتر است از این دستور استفاده کنید:

INSERT:CONTENT:END SERVER[‘REQUEST_TIME’]

تا اینکه ازدستور

Time()

  • دستور str_replace سریعتر از preg_replace است اما strtr باز هم از str_replace سریعتر است.
  • بهتر است از select  استفاده کنید تا چند if , else if استفاده کنید.
  • ممانعت از خطا با @ بسیار کند است.
  • mod_deflate را در آپاچی غیر فعال کنید.
  • وقتی که کار با بانک اطلاعاتی تمام شد با استفاده از دستور close این ارتباط را ببندید.

دستور

$row[‘id’]

7  بار سریعتر از دستور

$row[id]

است

  • پیغام های خطا بار سرور شما را افزایش می دهند.
  • توابع را در داخل حلقه های for استفاده نکنید مثلاً

for ($x=0; $x< count (array); $x)

تابع count هر بار که حلقه اجرا می شود لود می شود.

  • افزایش تدریجی یا incrementing یک متغییر لوکال در متد ها از همه روش ها سریعتر است.
  • افزایش تدریجی یک متغییر گلوبال 2 بار کندتر از انجام این کار توسط یک متغییر لوکال است.
  • افزایش تدریجی یک متغییر تعریف نشده 9 تا 10 برابر کندتر از یک متغییر از پیش تعریف شده است.
  • احضار متد ها ظاهرا مستقل از تعداد آنهاست و سبب کند شدن آنها نمی شود.
  • یک فانکشن کال یا لود کردن یک تابع با پارامتر و یک تابع خالی به اندازه 7 الی 8 عملگر

$localvar++

زمان بر است.

  • قرار دادن رشته ها در داخل ‘ به جای ” کمی سرعت را بالا می برد چون در حالت عادی php داخل ” ” به دنبال متغییر می گردد. البته زمانی که متغییر استفاده می کنید می توانید از آن استفاده کنید.

  • وقتی که رشته ها را با دستور echo خروجی می دهید جدا کردن آنها با ویرگول سریعتر از جدا کردن با نقطه است. توجه داشته باشید که این کار فقط با دستور echo  انجام پذیر است.

  • یک اسکریپت php در سرور آپاچی دو تا 10 برابر کندتر از کد های استاتیک html است سعی کنید بیشتر از صفحات استاتیک استفاده کنید تا اسکریپت های دینامیک

  • جمع آوری و اجرای چند باره اسکریپت های php بسیار وقت گیر است و بار زیادی روی سرور ایجاد می کند و لازم است که از یک سیستم کش سمت سرور برای وب سایت خود استفاده کنید و کارایی را 25 تا 100 درصد افزایش دهید. این کار با جلوگیری ار دوباره کاری و انجام کار های تکراری صورت می گیرد.

  • تا جایی که ممکن است از کش استفاده کنید. از memcached استفاده کنید. memcached یک سیستم  با کاربری بالاست می تواند سرعت برنامه های دینامیک را با به حداقل رساندن فراخوانی بانک اطلاعات بالا ببرد.کد های OP هم مفید است چون اسکریپت شما نیاز نخواهد داشت برای هر درخواستی یکبار اجرا شود.

  • نیازی نیست هر ساختار اطلاعاتی را به صورت یک کلاس تعریف کنید استفاده از array بهتر است.

  • شما می توانید کد های یک متد را هر جا لازم است تکه کنید

علی یزدی مقدم

مطالب مرتبط:

به این مطلب رای دهید



 

به اشتراک بگذارید :       فیس بوک کلوب

 

برچسب ها:
این مقاله اختصاصاً برای یاد بگیر دات کام تهیه شده است استفاده از آن با ذکر منبع همراه با لینک آن و نام نویسنده یا مترجم مجاز است

 

در یاد بگیر دات کام مشترک شوید و آخرین مطالب و مقالات را در ایمیل خود دریافت نمایید
برای عضویت، ایمیل خود را وارد کرده و بروی اشتراک کلیک کنید

  1. سلام -برای شروع کار یک مبتدی که میخواد phpبه صورت درست و کامل یاد بگیره چه راه دارید؟

نظر شما چیست؟

پرسش های خود را در بخش پرسش و پاسخ مطرح کنید

*

code



تبلیغات اینترنتی در یاد بگیر دات کام

بسته های تبلیغاتی ارزان قیمت

 
بستن تبلیغات

Useful Websites Directory

گردنبند اسم
طراحی سایت
طراحی سایت شرکتی
دستگاه جوجه کشی ارزان
المنت صنعتی



صفحه ما را در فیس بوک دنبال کنید صفحه ما را در توییتر دنبال کنید صفحه ما را در گوگل پلاس دنبال کنید صفحه ما را در  تلگرام دنبال کنید صفحه ما را در  اینستاگرام دنبال کنید صفحه ما را در لینکداین دنبال کنید