طراحان وب می دانند که هرچه کمتر و خلاصه تر کدهای خود را بنویسند در بالا آمدن سایت تاثیر بسزایی دارد و حتی می تواند روی عملکر سایت و منابع قابل استفاده روی هاست و سرور هم تاثیر گذار باشد.
در این مقاله سعی کرده ایم به روش های مختلف خلاصه نویسی در کدها بپردازیم.
1-حذف Else از شرط
معمولا کدهای شرط به صورت زیر نوشه می شود.
if(condition) { $partiaweb = 'My Site'; } else { $partiaweb = 'Your Site'; }
خلاصه خط بالا با حذف عبارت else به صورت زیر خواهد بود که شما می توانید در اکثر موارد به همین شکل عمل نمایید.
$partiaweb = 'Your Site'; if(condition) { $partiaweb = 'My Site&'; }
در مواردی که مقداری مشخص دارید می توانید به جای زیاده نویسی و اجرای Else به همین ترتیب عمل کنید.
2-حذف کردن علامت های { و }
خیلی از دوستان برنامه نویس برای اینکه کدهای زیباتری داشته باشند همیشه دستورات خود را بین {} قرار می دهند و یا حتی اگر با نرم افزار (IDE) کدنویسی میکنید اتوماتیک عبارت های باز و بسته در کد قرار می گیرند که با حذف آنها در خیلی از موارد می توانید کدهای خلاصه تری داشته باشید.
if($site=='partiaweb.com') { echo 'Webdesign - Security'; }
که می توان به صورت زیر نوشت:
If($site=='partiaweb.com') echo 'Webdesing - Security';
در تمامی مواردی که خروجی یا دستور تک خطی می باشد می توانید از همین روش استفاده کنید.
3-استفاده از اپراتور 3 تایی (Ternary Operators)
زمانی که شرطی به همراه if و else دارید می توانید از اپراتور 3 تایی جهت خلاصه نویسی استفاده نمایید.
if(isset($_POST[ site])) { $site = 'partiaweb.com'; } else { $site = 'hamisecurity.com'; }
همین کد با استفاده از اپراتور 3 تایی به صورت زیر خواهد بود:
$site = (isset($_POST[site])) ? 'partiaweb.com' : 'hamisecurity.com';
4-حذف کردن echo
شما می توانید به جای نوشتن دستور echo از حالت <?= ?>استفاده کنید.
<?php echo 'my site'; ?>
و خلاصه آن به صورت زیر خواهد بود:
<?='my site'?>
5-استفاده از علامت @
علامت @ معمولا قبل از عبارت ها قرار می گیرید تا از نمایش خطاها جلوگیری کند. این خطاها معمولا از نوع notice می باشند و مشکلی در روند کلی اجرای سایت نخواهند داشت. استفاده درست از این علامت باعث خلاصه نویسی در کدها می شود.
برای مطالعه بیشتر در مورد این اپراتور می توانید به لینک زیر مراجعه نمایید:
php.net/operators.errorcontrol
if(isset($site)) $mysite = $site;
خلاصه به صورت زیر خواهد بود:
$mysite = @$site;
6-استفاده از isset به جای strlen
اگر در قسمتی از کدتون برای محاسبه طول رشته ای ( با مقدار ثابت) از تابع strlen استفاده کردید با تغییر اون به isset افزایش سرعتی با حدود 0.0004 ثانیه ای خواهید داشت.
$username = partiaweb; if(strlen($username)>8) echo 'Registered'; else echo 'Error';
همین کد با استفاده از تابع isset به صورت زیر خواهد بود:
$username =partiaweb; if(isset($username[8])) echo 'Registered'; else echo 'Error';
7-استفاده از تابع str_replace به جای ereg_replace و preg_replace
زمانی که از عبارت های با قاعده (regular expression) استفاده نمی کنید بهتر است برای جایگزینی رشته ها با هم از تابع str_replace استفاده کنید.
preg_replace('/partiaweb.com/','hamisecurity.com',$site);
و تغییر آن به صورت زیر خواهد بود:
str_replace('partiaweb.com','hamisecurity.com',$site);
این تابع نیز مانند isset باعث افزایش سرعت در اجرای کد می شود.