useful

PHP tips for better life

posted on 26 Nov 2008 17:31 by ilumin  in useful

หัดใช้ ++, --

$val = $val + 1;
$val = $val - 1;

ให้ผลลัพท์เดียวกับ (ไม่รู้ว่าช้ากว่าหรือเปล่า แต่ที่สำคัญคือ อันล่างมันงามกว่า)

$val++;
$val--;

-----------------------------------------------------------------------

Single Quotes เร็วกว่า Double Quotes

$mytext = "Dental Plan";
if ($mytext == "Dental Plan") {
echo "Lisa needs braces"; }

สคริ๊ปด้านบนจะทำงานได้ช้ากว่า (อันนี้มีคนลองแล้วช้ากว่าจริงๆ)

$mytext = 'Dental Plan';
if ($mytext == 'Dental Plan') {
echo 'Lisa needs braces'; }

แต่ก็ต้องระวังเพราะว่าใน single quotes จะมีอ่านตัวแปร ดังตัวอย่างด้านล่าง

echo '$mytext, Lisa needs braces.';
// Will output: $mytext, Lisa needs braces.

echo "$mytext, Lisa needs braces.";
// Will output: Dental Plan, Lisa needs braces.

-----------------------------------------------------------------------

อย่าใช้ {} เปลือง

if ($gollum == 'halfling') {
$height --;
}

ให้ผลลัพท์เท่ากับ
เทคนิคนี้เคยใช้บ่อยๆในการเขียน java เพราะสังเกตุว่า javascript ส่วนมากเค้าไม่ค่อยใช้ปีกกาถ้าไม่จำเป็นจริงๆ
เลย assume ว่ามันต้องมีผลกับความเร็วชัวร์
แต่ว่าต้องเว้นบรรทัดให้ดูสวยงามด้วย เด๋วจะงงกับ code ของตัวเอง

if ($gollum == 'halfling')  $height --;

-----------------------------------------------------------------------

อย่าใช้ true/false เปลือง

if ($blackbeard == true) echo 'Arr, this chair be high, says I.';
elseif ($seacaptain == false) echo 'Yar, I'm not attractive.';

ให้ผลลัพท์เท่ากับ
คือตัวแปรมันจะเป็น false ได้ก็ต่อเมือมันมีค่าเท่ากับ 0 หรือไม่ได้ถูกกำหนดค่ามา

if ($blackbeard) echo 'Arr, this chair be high, says I.';
elseif (!$seacaptain) echo 'Yar, I'm not attractive.';

-----------------------------------------------------------------------

พอกันที do, while, for

การใช้งาน do, while, for จำเป็นต้องมีการนับจำนวน loop ครับ
จุดนั้นทำให้เสียเวลา และทำให้ code มันไม่สวยด้วย
ใช้ foreach ดีกว่า

foreach ($_GET as $key => $value)
$$key = $value;

ส่วนพวก do, while, for เขียนยังงัยเนี่ย ลืมไปแล้ว - -*

-----------------------------------------------------------------------

Quick if else

if( $color == 'green' ) {
    echo 'Green';
} else {
    echo 'Not Green';
}

มีค่าเท่ากับ

echo ( $color == 'green' ) ? 'Green' : 'Not Green';

-----------------------------------------------------------------------

เขียน if statement ให้ดูง่ายๆ (แต่แปลกตา)

if("foo" == $myString){
   echo $myString . " is my string\n";
} else {
   echo $myString . " is not my string\n";
}

ซึ่งปกติเราจะเขียนเป็น $myString == "foo"
เค้าบอกว่าอย่างนี้มันตรวจ error ได้ยากกว่า
เคยเจอครั้งแรกใน wordpress's code ดูแล้วก็งงพักนึงว่าทำไมมันต้องเขียนแบบนี้

-----------------------------------------------------------------------

Multi-line assignment

$paragraph = 'This is a multi-line assignment.';
$paragraph.= 'Newlines are preserved, and';
$paragraph.= '$vars are interpolated.';

มีค่าเท่ากับ

$paragraph = <<<PARA
This is a multi-line assignment.
Newlines are preserved, and
$vars are interpolated.
PARA;

เอามาเรียบเรียงไว้
ใครมี tips อื่นๆอีกก็ช่วยต่อด้วยนะครับ