首页 > 代码库 > 使得CI在NetBeans 8.0中自动提示CI相关类和方法

使得CI在NetBeans 8.0中自动提示CI相关类和方法

把这两个文件放到项目文件根目录的nbproject文件夹下面,运行index.php如:http://localhost/你的CI目录/nbproject/index.php,之后重启netbeans。试试写$this->看后面出现什么!哈哈哈

 

index.php

=============================================== 
 <?php
$filearr = file(‘CI_Autocomplete_2.0.php‘);
$startpos = array();
$conpos = 0;
$modpos=0;
getpos($startpos, $conpos, $modpos, $filearr);
$model = ‘‘;
$lib = ‘‘;
$resultnames = array();
//getdirfilesname(‘../application/models‘);
$filesmodel = ListFiles(‘../application/models‘);
$fileslib = ListFiles(‘../application/libraries‘);
$tets=filenamechange($filesmodel);
$resultnames = array_merge(array(filenamechange($filesmodel)), array(filenamechange($fileslib)));//过滤到index并且得到字符串
//$insertarr=array();
//var_dump($resultnames);
array_splice($filearr, $startpos[0] + 1, $conpos - $startpos[0] - 3, $resultnames);
getpos($startpos, $conpos, $modpos, $filearr);
$porarr=array_slice($filearr, 3, $conpos-5);
array_splice($filearr, $conpos+3, $modpos - $conpos - 5, $porarr);
$resultstr = "";
for ($i = 0; $i < count($filearr); $i++) {
    $temstr = $filearr[$i];
    //   var_dump($filearr[$i]);
    $resultstr.=$temstr;
}
///$resultstr=implode(" ", $filearr);
//var_dump($resultstr);
//写入文件
//file_put_contents ( string filename, string data [, int flags [, resource context]])
if (file_exists(‘CI_Autocomplete_2.0.php‘)) {
    unlink(‘CI_Autocomplete_2.0.php‘);
}
file_put_contents(‘CI_Autocomplete_2.0.php‘, $resultstr);
echo ‘<html><head>‘;
echo ‘<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title></title>‘;
echo ‘</head><body>‘;
echo ‘<p align="center">转换完成!</p></body></html>‘;
//var_dump($files);
//scandir//();
//var_dump($startpos.‘ ‘.$endpos);
//$start=array_search(‘* @property CI_Zip $zip\n‘, $filearr);
//array_splice(array,offset,length,array);
//var_dump($start);
//var_dump($filearr);
//var_dump($filearr);
function getdirfilesname($dir) {
    $namearr = scandir($dir);
    $namearr = array_diff($namearr, array(‘..‘, ‘.‘));
    var_dump($namearr);
}
function ListFiles($dir) {
    if ($dh = opendir($dir)) {
        $files = Array();
        $inner_files = Array();
        while ($file = readdir($dh)) {
            if ($file != "." && $file != ".." && $file[0] != ‘.‘) {
                if (is_dir($dir . "/" . $file)) {
                    $inner_files = ListFiles($dir . "/" . $file);
                    if (is_array($inner_files))
                        $files = array_merge($files, $inner_files);
                } else {
                    //    array_push($files, $dir . "/" . $file);
                    array_push($files, $file);
                }
            }
        }
        closedir($dh);
        return $files;
    }
}
function filenamechange($filesname, $ucfirst=0) {
    $count=count($filesname);
    for ($i = 0; $i <$count ; $i++) {
        //$startpos=strrpos($filearr[$i],$startstr)===FALSE?continue:
        if (strrpos($filesname[$i], ‘ndex.html‘))
            unset($filesname[$i]);
        if (isset($filesname[$i])) {
            $filesname[$i] = str_ireplace(‘.php‘, ‘‘, $filesname[$i]);
            //   $resultnames[$i][‘name‘]=ucfirst($filesname[$i]);
            //  $resultnames[$i][‘value‘]=‘$‘.$filesname[$i];
            if ($ucfirst) {
                $resultnames[] = "* @property " . ucfirst($filesname[$i]) . " $" . ucfirst($filesname[$i]) . "\r\n";
            }else
                $resultnames[] = "* @property " . ucfirst($filesname[$i]) . " $" . strtolower($filesname[$i]) . "\r\n"; //* @property Kslevel $kslevel
 
//  $filesname[$i]=strtr($filesname[$i],‘php‘,‘ ‘ );
        }
    }
    return $resultnames;
}
function getpos(&$startpos,&$conpos,&$modpos,$filearr) {
    $startstr = ‘* @property CI_Zip $zip‘;
$constr = ‘class CI_Controller {};‘;
$modstr=‘class CI_Model {};‘;
    for ($i = 0; $i < count($filearr); $i++) {//找到位置
    //$startpos=strrpos($filearr[$i],$startstr)===FALSE?continue:
    if (strrpos($filearr[$i], $startstr) !== FALSE)
        $startpos[] = $i;
    if (strrpos($filearr[$i], $constr) !== FALSE)
        $conpos = $i;
        if (strrpos($filearr[$i], $modstr) !== FALSE)
        $modpos = $i;
}
//echo ‘OK‘;
}
?>
 

 

 

CI_Autocomplete_2.0.php

=====================================

 <?php
/**
* @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 Msgexpection $msgexpection
*/
class CI_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
* @property Msgexpection $msgexpection
*/
class CI_Model {};
?>