ต้องการผู้ช่วย php, codeigniter framework เพื่อร่วมทำระบบจัดการเนื้อหาที่เป็น open source แบบฟรี 100%
เดี๋ยวว่าง ๆ ต้องหัดมันมั่งแล้วหละ ผมเป็นแต่ดิบ ๆ
Date :
2012-03-20 17:16:15
By :
deawx
โอ้ว คุณเดี่ยวมาช่วยผมแล้ว...อ้าว ไม่ใช่เหรอฮะ
โธ่... เดี๋ยวผมส่งโค้ดให้มั้ยครับ
Date :
2012-03-20 19:46:09
By :
mr.v
คุณ plakrim ก็น่าจะได้อยู่นะ เห็นพี่ท่านไปฝึกมาแล้ว คงทำเป็นซุ่มอยู่ :D
Date :
2012-03-20 19:47:22
By :
mr.v
พี่ไม่เคยใช้เลยอ่ะ พอมีเวลา ก็มานั่งทำแต่แบบดิบ ๆ
ตอนนี้ก็ นั่งเน่าแบบดิบ ๆ หน้าคอมเนี่ยหละ เอิ๊ก ๆ
Date :
2012-03-20 22:00:34
By :
deawx
น่าเสียดายจริงครับคุณเดี่ยว
ถ้าทำแบบ php ธรรมดามา ผมกลัวมันจะเอามาใช้ใน controller/model/view ไม่ได้ไงครับ เพราะ CI มันค่อนข้างจะแง้งในเรื่องนี้พอควร
ขนาดกำหนด property ใน core controller ไปเรียกใช้ใน model ยังเรียกไม่ได้เลย =_='
Date :
2012-03-20 22:05:43
By :
mr.v
ci พักไว้ครับ ตอนนี้ลูกค้าให้ใช้ zend ไว้ว่างๆ จะมาช่วยครับ แต่คงว่างยากนิดนึง งานจ่อคิวอยู่ ^__^
พัฒนาล่วงหน้าไปก่อนครับ จะได้สอนผมด้วย ผมยกมือเข้าร่วมด้วยคน แต่ไม่โปรนะ ยัง baby ci อยู่
ประวัติการแก้ไข 2012-03-22 03:02:43
Date :
2012-03-22 03:00:43
By :
ikikkok
แต่ไม่โปรนะ ยัง baby ci อยู่ (อ่านว่า ยัง เบบี้ คิ) ชิมิ ชิมิ
Date :
2012-03-22 11:44:10
By :
deawx
:D ยังไม่โปรทำได้ก็โอเคแล้วคร้าบบ.. ผมก็ไม่ใช่ว่าจะโปร
ตอนนี้กำลังหาทางทำระบบ plugin ให้สำเร็จก่อนไปทำอย่างอื่นเลย เพราะหลายส่วนต้องมี do_action ของ plugin เข้าไปแทรก
ถ้ามาทำทีหลัง มันจะขาดๆหายๆด้วยความหลงลืม แล้วแก้กันบานเบอะ -_-"
ก็ทำไปเรื่อยๆ ใครอยากช่วยก็มาบอกได้นะครับ
ประวัติการแก้ไข 2012-03-22 14:36:10
Date :
2012-03-22 14:34:37
By :
mr.v
http://code.google.com/p/agni-cms/
ตอนนี้ผมทำ plugins library น่าจะเสร็จแล้ว แต่ยังไม่รู้ว่าควรจะมีอะไรอีกบ้าง
คราวนี้ถึงตาผู้ชำนาญ php แล้วครับ ไม่ต้องเป็น codeigniter ก็ได้ เป็นก็ดี
มาลองสร้าง plugin เพื่อทดสอบการเรียกใช้กันหน่อยเถอะครับ (please)
จากโค้ดตัวอย่าง (ขอให้ดาวน์โหลดมาติดตั้งก่อนนะ)
ผมจะใช้หน้า welcome เป็นหน้าสำหรับทดลอง (อยู่ใน application/controllers/welcome.php)
ผมจะมีข้อความตัวอย่าง แล้วก็ทำการเรียก plugin โดย do_action();
อันนี้เป็นแค่การทดลองง่ายๆ ผมอยากเห็นการทดลองยากๆ, พิศดาร เกินกว่าที่ผมจะเคยมีประสบการณ์หยั่งถึง
ตรงนี้แหละครับ คราวนี้ที่อยากให้ช่วย
เพื่อหาดูว่า plugin library ที่ผมเอามาดัดแปลงชุดนี้มันจะตอบสนองได้ดีมั้ย?, ต้องการมีอะไรเพิ่มบ้าง?, ฯลฯ
การเขียน plugin
ให้สร้าง folder ชื่อ plugin โดยไม่มี space ตัวอักษรติดกันหรือใช้ aถึงz, 0ถึง9, เครื่องหมาย _ เป็นชื่อ folder, file เท่านั้น.
เช่น folder: formattext ก็ตั้งชื่อไฟล์ formattext.php ไว้ข้างในด้วย
กรอก plugin metadata ตามรูปแบบในตัวอย่างของ plugin 'aa'
Code
/**
* Plugin Name: Format text
* Plugin URL: http://thaicreate.com
* Version: 1.0
* Description: format an unformat text
* Author: vee w.
* Author URL: http://okvee.net
*
*/
โดยข้อมูลข้างบนจะไม่กรอกก็ได้ แต่จะไม่ดีเท่าไหร่
เขียน function การทำงานขึ้นมาโดยไม่ต้องแคร์เรื่องชื่อ function เช่น
function format_newline( $text = '' ) {
return str_replace( array("\r\n", "\r", "\n"), '<br />', $text );
}
แล้วเรียก add_action( $hook_action, $function_name, $priority );
โดย $hook_action คือชื่อตำแหน่งที่จะ hook action ในตัวอย่าง welcome controller มีการเรียก hook action 'parse.message'
ซึ่งชื่อ hook action นี้ตั้งขึ้นมาเองได้อิสระ (เฉพาะตอนทดลองนี้ เพราะยังไม่ได้มีการระบุว่าจะให้มี hook action อะไรบ้าง โดยจะระบุอีกทีเมื่อนำไปใช้จริงๆ และจะบอกไว้ให้ที่เว็บ.)
ส่วน $function_name ก็ชื่อ function ที่จะเรียกใช้ จากตัวอย่างข้างบน ก็เป็น 'format_newline'
$priority ใส่ตั้งแต่ 1 ถึง 10 โดยตัวเลขน้อยสำคัญมาก ถูกเรียกใช้ก่อน (แต่จะไม่กรอกก็ได้ จะได้ 10โดยอัตโนมัติ)
ตัวอย่าง
add_action( 'content.format', 'format_newline' );
นำไปทดลองใช้งานใน welcome controller โดยลบ do_action เก่าออก แล้วใส่ลงไปใหม่ เป็น
do_action( 'content.format', $text );
function ที่เป็นชื่อบังคับ แต่ไม่จำเป็นต้องมีก็ได้ ใน plugin
activate() ไว้สำหรับขั้นตอนการ activate ซึ่งอาจใส่ create table sql ก็ได้ หรือให้ทำงานอื่นๆตามต้องการ
deactivate() ไว้สำหรับขั้นตอนการ deactivate ซึ่งอาจใส่ delete table ก็ได้ หรือให้ทำงานอื่นๆตามต้องการ
function ที่เรียกใช้ ขอให้เปิดดูจากไฟล์ application/libraries/plugins.php
จะมี add_action, do_action, remove_action, action_exists, remove_all_action
คล้ายๆของ wordpress นั่นแหละครับ ดูเข้าใจง่ายดี แต่มีไม่เหมือนทั้งหมด ซึ่งของเขามี add_filter, apply_filters อะไรพวกนี้ ผมไม่เข้าใจว่าเอาไว้ทำอะไร?
โปรดช่วยกันทดลองดู ทำเล่นหลายๆแบบ เล่นให้กระจาย เพื่อดูว่ามันติดข้อจำกัดอะไรบ้างมั้ย ควรมีอะไรเพิ่มอีกบ้าง นะครับ
ประวัติการแก้ไข 2012-03-23 19:09:08 2012-03-23 19:09:27 2012-03-23 19:09:48 2012-03-23 19:10:10 2012-03-23 19:10:51 2012-03-23 19:12:54
Date :
2012-03-23 19:08:52
By :
mr.v
Load balance : Server 02