ขั้นตอนในการติดตั้ง
ทำการคัดลอก php code ด้านล่างนี้แล้วสร้างไฟล์ชื่อ auto_complete.php ( ชื่อเป็นอะไรก็ได้ ขอแค่นามสกุลเป็น php ) จากนั้นนำไปวางในโฟลเดอร์ netbeans ( หรือที่อื่นก็ได้ ) ดังรูป แค่นี้เราก็ได้ระบบ autoComplete สำหรับ Codeigniter ใช้ใน netbeans แล้ว
แสดงไฟล์ autoComplete ที่วางในโฟลเดอร์ netbeans
ตัวอย่างการใช้งาน autoComplete ใน Controller
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Benchmark $benchmark
* @property CI_Calendar $calendar
* @property CI_Cart $cart
* @property CI_Config $config
* @property CI_Controller $controller
* @property CI_Email $email
* @property CI_Encrypt $encrypt
* @property CI_Exceptions $exceptions
* @property CI_Form_validation $form_validation
* @property CI_Ftp $ftp
* @property CI_Hooks $hooks
* @property CI_Image_lib $image_lib
* @property CI_Input $input
* @property CI_Language $language
* @property CI_Loader $load
* @property CI_Log $log
* @property CI_Model $model
* @property CI_Output $output
* @property CI_Pagination $pagination
* @property CI_Parser $parser
* @property CI_Profiler $profiler
* @property CI_Router $router
* @property CI_Session $session
* @property CI_Sha1 $sha1
* @property CI_Table $table
* @property CI_Trackback $trackback
* @property CI_Typography $typography
* @property CI_Unit_test $unit_test
* @property CI_Upload $upload
* @property CI_URI $uri
* @property CI_User_agent $user_agent
* @property CI_Validation $validation
* @property CI_Xmlrpc $xmlrpc
* @property CI_Xmlrpcs $xmlrpcs
* @property CI_Zip $zip
*/
class Controller {};
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Config $config
* @property CI_Loader $load
* @property CI_Session $session
*/
class Model {};
แบบครบถ้วน
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Benchmark $benchmark
* @property CI_Calendar $calendar
* @property CI_Cart $cart
* @property CI_Config $config
* @property CI_Controller $controller
* @property CI_Email $email
* @property CI_Encrypt $encrypt
* @property CI_Exceptions $exceptions
* @property CI_Form_validation $form_validation
* @property CI_Ftp $ftp
* @property CI_Hooks $hooks
* @property CI_Image_lib $image_lib
* @property CI_Input $input
* @property CI_Language $language
* @property CI_Loader $load
* @property CI_Log $log
* @property CI_Model $model
* @property CI_Output $output
* @property CI_Pagination $pagination
* @property CI_Parser $parser
* @property CI_Profiler $profiler
* @property CI_Router $router
* @property CI_Session $session
* @property CI_Sha1 $sha1
* @property CI_Table $table
* @property CI_Trackback $trackback
* @property CI_Typography $typography
* @property CI_Unit_test $unit_test
* @property CI_Upload $upload
* @property CI_URI $uri
* @property CI_User_agent $user_agent
* @property CI_Validation $validation
* @property CI_Xmlrpc $xmlrpc
* @property CI_Xmlrpcs $xmlrpcs
* @property CI_Zip $zip
* @property Image_Upload $image_upload
* @property Lang_Detect $lang_detect
* @property Address_Model $address_model
* @property Admin_Model $admin_model
* @property Buyer_Model $buyer_model
* @property Email_Model $email_model
* @property Product_Model $product_model
* @property Store_Model $store_model
* @property Tailor_Model $tailor_model
*/
class Controller {};
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Config $config
* @property CI_Loader $load
* @property CI_Session $session
* @property Address_Model $address_model
* @property Admin_Model $admin_model
* @property Buyer_Model $buyer_model
* @property Email_Model $email_model
* @property Product_Model $product_model
* @property Store_Model $store_model
* @property Tailor_Model $tailor_model
*/
class Model {};
ฟังก์ชั่น php สำหรับสร้าง php code ที่ใช้ในการทำ autoComplete ( นำไปวางใน Controller จากนั้นเข้าที่ฟังก์ชั่นนั้น ตัวฟังก์ชั่นจะทำการ Generate ให้อัตโนมัติ ข้อดีคือมันจะเอา Models ที่เราสร้างมาทำเป็น autoComplete ให้ด้วย )
function autocomplete() {
$sys_lib = BASEPATH . '/libraries';
$app_lib = APPPATH . '/libraries';
$app_model = APPPATH . '/models';
echo "<?php<br/><br/>";
echo "/**<br/>";
echo '* @property CI_DB_active_record $db<br/>';
echo '* @property CI_DB_forge $dbforge<br/>';
if ($handle = opendir($sys_lib)) {
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
if ($file[0] == '.')
continue;
$files = explode('.', $file);
$file = $files[0];
$file2 = $file;
if ($file == 'index')
continue;
if ($file == 'Loader')
$file2 = 'load';
echo "* @property CI_" . $file . " $" . strtolower($file2) . "<br/>";
}
closedir($handle);
}
if ($handle = opendir($app_lib)) {
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
if ($file[0] == '.')
continue;
$files = explode('.', $file);
$file = $files[0];
$file_parts = explode('_', $file);
$first_part = $file_parts[0];
if ($first_part == 'index' || $first_part == 'MY')
continue;
if (count($file_parts) > 1) {
$last_part = $file_parts[1];
echo "* @property " . ucfirst($first_part) . "_" . ucfirst($last_part) . " $" . strtolower($first_part) . "_" . strtolower($last_part) . "<br/>";
} else {
echo "* @property " . ucfirst($first_part) . " $" . strtolower($first_part) . "<br/>";
}
}
closedir($handle);
}
if ($handle = opendir($app_model)) {
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
if ($file[0] == '.')
continue;
$files = explode('.', $file);
$file = $files[0];
if ($file == 'index')
continue;
$file_parts = explode('_', $file);
$first_part = $file_parts[0];
$last_part = $file_parts[1];
echo "* @property " . ucfirst($first_part) . "_" . ucfirst($last_part) . " $" . strtolower($first_part) . "_" . strtolower($last_part) . "<br/>";
}
closedir($handle);
}
echo "*/<br/><br/>";
echo "class Controller {}<br/><br/>";
echo "?>";
}
จบแล้วครับ ขอบคุณครับCredits : http://rhasan.com/blog/2009/09/codeigniter-auto-complete-with-netbeans/

I like to use Codelobster more.
ReplyDelete