ไม่ต้องการ render Layout และ/หรือ View ใน Zend Framework หรือ ZF
- Login to post comments
- 29 reads
$this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE);
$this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE);
ว่างๆ หรือวันไหนอากาศดีๆ ลองปรับตัวเอง ใส่ใจในการเขียน code มากขึ้นซักเล็กน้อย โดยยึดตามอันนี้ก็ได้ครับ
http://framework.zend.com/manual/en/coding-standard.coding-style.html
code เราจะได้สวยๆ และเวลาคนอื่นมาไล่ จะได้ไม่บ่นมาก :D นอกจากโปรแกรมจะมั่วแล้ว ก็อย่าให้ code มันมั่วมากนักเลย หุหุ
แล้วก็พยายามเลี่ยงเขียน html ปนเข้าไปใน php script (html ปนน้ะครับ ไม่ใช่ php embed ใน html อย่างหลังนี่เป็นเรื่องธรรมดา เวลาที่เราเขียนแบบ MVC แต่แบบ html ปนนี่ ... ดูยาก และแก้ยากชะมัด) เชื่อมั้ย ว่ายังมีคนเขียนปนอย่างนี้อยู่ :)
<?php // ตารางที่มี field: uid $tables = array( 'd_accesslog', 'd_authmap', 'd_blogapi_files', 'd_comments', 'd_history', 'd_node', 'd_node_revisions', 'd_poll_votes', 'd_profile_values', 'd_sessions', 'd_userpoints', 'd_userpoints_txn', 'd_users', 'd_users_roles', 'd_users_signature', 'd_user_postcounts', 'd_user_titles_posts', 'd_watchdog', ); mysql_connect('localhost', 'xxx', 'xxx') or die(mysql_error()); mysql_select_db('xxx'); $uids = array(); for ($uid = 5000; $uid <= 10000; $uid++) { $uids[] = $uid; } foreach ($tables as $tab) { $delCmd = 'DELETE FROM ' . $tab . ' WHERE uid IN (' . implode(',', $uids) . ') '; @mysql_query($delCmd); echo $delCmd . ' done' . "\n"; } mysql_close(); ?>
$rawExif = exif_read_data($imgName);
if( isset($rawExif['GPSLatitude']) )
{
eval('$degree = $rawExif["GPSLatitude"][0];');
eval('$mins = $rawExif["GPSLatitude"][1];');
eval('$secs = $rawExif["GPSLatitude"][2];');
$lat = $degree + ( $mins / 60 ) + ( $secs / 3600 );
if( $rawExif['GPSLatitudeRef'] == 'S' )
{
$lat = (-1) * $lat;
}
eval('$degree = $rawExif["GPSLongitude"][0];');
eval('$mins = $rawExif["GPSLongitude"][1];');
eval('$secs = $rawExif["GPSLongitude"][2];');
$lng = $degree + ( $mins / 60 ) + ( $secs / 3600 );
if( $rawExif['GPSLongitudeRef'] == 'W' )
{
$lng = (-1) * $lng;
}
echo "$lat, $lng";
}
อ้างอิง: http://andrew.hedges.name/experiments/convert_lat_long/
เห็นว่าเป็นประโยชน์ เลยเอามา blog ไว้สักหน่อย จะได้เอาไว้เตือนความจำ :)
// First way
$('#checkBox').attr('checked');
// Second way
$('#edit-checkbox-id').is(':checked');
// Third way for jQuery 1.2
$("input[@type=checkbox][@checked]").each(
function() {
// Insert code here
}
);
// Third way == UPDATE jQuery 1.3
$("input[type=checkbox][checked]").each(function() {
// Insert code here
}
);
Table names are plural, field name is singular*
If the table name contains serveral words, only the last one should be plural:
APPLICATIONS
APPLICATION_FUNCTIONS
APPLICATION_FUNCTION_ROLESZend_Acl เป็น component สำหรับเอาไว้จัดการ การควบคุมการเข้าถึงข้อมูล (ผมพยายามแปลมาจาก ACL - Access Control List) อธิบายง่ายๆ คือเอาไว้คุมระดับของการใช้งาน insert/update/delete (หรืออื่นๆ) ข้อมูลนั่นเอง
ตัวอย่างเช่น Administrator ใช้งานหน้า admin สามารถ insert/update/delete ได้ทุกอย่าง, นาย A สามารถ insert/update/delete ข่าวได้อย่างเดียว และนาย B สามารถ insert/update/delete ข้อมูลสินค้าได้อย่างเดียว เป็นต้น
หรืออีกตัวอย่าง ถ้าเป็นกรณี Blogging service คุณเจ้าของ blog สามารถ read/write/publish/edit/delete blog ของตัวเองได้ และ guest (คนทั่วไป) สามารถ read ได้อย่างเดียว เป็นต้น
เหล่านี้เขาเรียกว่า ACL - Access Control List
ใน Zend_Acl ก็จะเกี่ยวข้องกับ 2 สิ่ง ได้แก่:
บทความเดิม บทความแรกๆ ที่ผมเขียนเกี่ยวกับการนำ Smarty มาใช้ร่วมกับ Zend Framework
แต่หลังจากที่ผมไ ด้ลองใข้ Zend_View ซักระยะนึง ขออนุญาต แสดงความคิดเห็นต่อคำถามที่ว่า "จะใช้ Smarty หรือ Zend_View ดี?" ซักเล็กน้อย
ความเห็นส่วนตัวน้ะครับ ถ้าใครที่ไม่เคยใช้ Smarty (หรือใช้แต่ยังไม่ติด) ก็ลองใช้ Zend_View ไปเลยก็น่าจะดีน้ะ เพราะว่าจะได้ไม่ต้องศึกษาและใช้ libs หลายเจ้า หรือถ้าอยากหัดใ:ช้ Smarty อันนั้นก็คงไม่ว่ากัน
จากบทความเดิม "การตั้งค่าสำหรับการพัฒนาโปรแกรมด้วย PHP" ของคุณ overbid เขียนไว้ละเอียดดีทีเดียว โดยส่วนตัวผมได้ลองใช้ Eclipse PDT แล้วชักติดใจ โดยเฉพาะ ถ้าเขียนโปรแกรมแบบ OO แล้วช่วยได้เยอะมากๆ เลยอยากจะมาชวนให้มาลองใช้กัน (ใช้แล้วอาจจะลืม EditPlus ไปเลยก็ได้น้ะ :-)