Php

2012/Jan/27

2010/Aug/02

 

 feature ใหม่ๆพวกนี้ สามารถเขียนได้ใน php version  (5.4, 6.0?)  

- Added array dereferencing support.  

ตัวอย่าง เทคนิคนี้เรียกว่า  "object dereferencing"   

class Foo {   

     public function bar() { }

}   

 function func() {       

     return new Foo();

 }

func()->bar();

หากใครคุ้นเคยการเขียน  javascript   หรือ closures style ใน c# แล้วล่ะก็ php ก็สามารถทำได้เช่นกัน

 

function foo() {

 return array(1, 2, 3);

}

echo foo()[2]; // prints 3

ลักษณะนี้เป็นการเขียนแบบ php closures นั้นเอง

$func = function() {

   return array('a', 'b', 'c'); 

};

echo $func()[0]; // prints a

นอกจากนี้เรายังทำ reference variable ใน php ได้ด้วย 

$data = array('me', 'myself', 'you');

function &get_data() {           

   return $GLOBALS['data'];

}

get_data()[2] = 'I'; // $data will now contain 'me', 'myself' and 'I'

 

2008/Nov/21

-  สามารภใช้  heredoc  syntax ในการสร้าง string  เช่น

$s = "This is something ";
$s .= "that will make ";
$s .= "a long string, with ";
$s .= "a variable: $x.";

เป็น

$s = <<;

- วิธีเอาตัวแปรเข้าไปแทนค่าใน string ควรใช้เครื่องหมาย "{}" (curly braces)  ครอบเช่น

$x = "Something with {$y['key']} and {$z}.";


- หากต้องการใช้ array ใน programของเรา ควรจะใช้ associative arrays  เช่น
 

$pages = array(
'index' => 'startPage.php',
'contact' => 'sendForm.php'
);
 
// could do some function here
$thePage = 'contact';
 
$theAddress = $pages[$thePage];

- การทำ shortcut  "else"  วิธีนี้เป็นการกำหนดค่า defualt ก่อนเข้า เงื่อนไข ทำให้ program ไม่ต้องทำคำสั่ง else  เช่น

if( this condition ) 
{
$x = 5; 
}
else 
{
$x = 10;
} 

 เป็น

$x = 10;
if( this condition )
{
$x = 5;
}

 -  การเข้าถึง array ควรจะใช้  "foreach"  โดยเฉพาะการแก้ไขข้อมูลภายใน array เช่น

$arr = array(0,1,2,3,4,5,6,7,8,9);
 
foreach($arr as $key => $num) {
if($num==5) {
$arr[$key]=0;
}
}
print_r($arr); 


- การใช้ swicth  บางครั้งเราอาจจะลืม break; เช่น
 

switch($x)
{
case 'one': ...; break; 
case 'two': ...; break;
default: ...; break;
}

 เราสามารถเขียนได้โดย ใช break แค่ครั้งเดียว หรือ บางครั้งถ้าเราต้องการกำหนด หลายๆเงื่อนไขใน case เดียว สามารถทำได้โดย

case 'one': case 'two': ...; break;

 

* ทั้งหมดเป็นแค่ความคิดเห็นส่วนตัว การเขียน code แล้วแต่ style อยู่แล้ว  แลกเปลี่ยนกันได้ ;)


 



snippet.googalz.com
View full profile