Coding Standard in PHP / PHP Coding Style - ทบทวนพื้นฐาน รูปแบบการเขียน Code PHP

PHP Code Demarcation - การเปิด-ปิด PHP Code

จะต้องเปิด tag ด้วยรูปแบบเต็ม "<?php" ตามมารตฐานของ PHP tags เสมอ สำหรับ tag แบบสั้นนั้นไม่เป็นที่ยอมรับแล้ว แต่ก็สามารถตั้งใน php.ini ให้เปิดใช้ได้อยู่ แต่ในอนาคตไม่แน่อาจจะปิดไปถาวรเลยก็เป็นได้

ความปลอดภัยสำหรับ การรับส่งข้อมูลของ Web services

นี่เป็นแนวทางหนึ่งสำหรับความปลอดภัยของ web services บน HTTP REQUEST/RESPONSE แบบการส่ง parameters เป็น query string น้ะครับ ได้แก่

RESTful Web Services

การ implement Web Service ก่อนหน้านี้มักจะใช้ SOAP กัน แต่หลังๆมานิยมใช้ RESTful (RESTful web service) กันมากขึ้น เพราะว่าการรับ-ส่งข้อมูลเล็กกว่า และก็ใช้งานง่ายดี

REST ย่อมาจาก REpresentational State Transfer

Looping จนครบทุกวันที่

เขียนแบบง่ายๆ น้ะครับ (หรือจะเรียกว่าแบบขี้เกียจก็ได้) แบบไม่มี if-else วันสุดท้ายของเดือนอะไรให้วุ่นวาย

<?php
  for ($i = 0; $i < 365; $i++) {
    echo date('Y-m-d', mktime(0,0,0, 1, (1 + $i), 2011));
    echo "\n";
}

(แต่ script นี้จะมี bug นิดหน่อย สำหรับปีใหนที่เดือนกุมภาพันธ์มี 29 วัน หรือ ปีไหนมี 366 วัน Cool)

Tags:

อ่าน header ทั้งหมดที่ client ส่งมา

เผื่ออยากจะ clone headers ทั้งหมดจาก client

$headers = apache_request_headers();
foreach ($headers as $header => $value) {
  echo "$header: $value\n";
}

การ compare string ด้วย strpos() vs preg_match() อันไหนไวกว่ากัน?

จากที่ google ดูเห็นเขาเทียบความเร็วในการประมวลผลระหว่าง strpos() และ preg_match() ไว้ที่นี่ ผมตัดข้อมูลสั้นๆมาแปะไว้ให้ดูดังนี้

HTML5 vs Youtube vs iOS ไม่เวิร์ค!?

จะเล่น Youtube Video บน iOS (iPad, iPhone) แล้วอยากใช้ <video> ของ HTML5 แต่ไม่ work ไม่แน่ใจว่าเป็นเพราะ Youtube ยังไม่รองรับ HTML5 แบบเต็มรูปแบบหรือเปล่า หรือจะเป็นที่เหตุผลอื่นๆ ก็ไม่ทราบได้

สรุปถ้าจะแสดง Youtube Video ทั้งใน Web App หรือใน Native App บน iOS ก็ยังต้อง render ด้วย <object><embed> อยู่เช่นเดิม -_-!

การ disabled layout และ no render views ใน Zend Framework

// $this คือ Zend_Controller_Action หรือ ลูกๆ ที่ extends มา
$this->getHelper('layout')->disableLayout();
$this->getHelper('viewRenderer')->setNoRender();

ใช้ในกรณีที่เราตั้งให้ทำงาน auto แล้ว:

Tip เล็กน้อยกับการตั้งชื่อ DB Name ใน MySQL ด้วย "_" หรือ "-"

หากจะคั่นชื่อของ Database name ใน MySQL ด้วย under scroll (ขีดล่าง "_") หรือ dash (ขีดกลาง "-") ลองพิจารณาเล็กน้อยว่า

"my-db-name" ชื่อ directory ของ file system 
จะเป็น "/var/lib/mysql/my@002ddb@002dname" (ดูยาก)

"my_db_name" ชื่อ directory ของ file system 
จะเป็น "/var/lib/mysql/my_db_name" (ดูง่าย)

ดังนั้นเพื่อให้ดูง่าย ควรใช้ under scroll จะดีกว่า dash เพื่อคั่นระหว่างคำ ในชือของ database 

Tags:

Zend Framework รุ่น 1.11.11 ออกแล้ว

เมื่อคืนนี้ (2011-09-29) Zend Framwork ได้ประกาศออกรุ่นใหม่แล้ว เลขรุ่นสวยดี 1.11.11 Cool สำรับรุ่นนี้หลักๆ เป็นการแก้บั๊กประมาณ 30 ตัว

ข้อมูลเพิ่มเติม:
- คำประกาศออกเวอร์ชั่นใหม่ Zend Framework 1.11.11
- Change log ทั้งหมด

 

Subscribe to PHP Zealots RSS