【发布时间】:2015-11-17 06:43:27
【问题描述】:
虽然关于如何让 PhpStorm 识别 CodeIgniter 2.x 核心功能有很多答案,但我不知道如何让它识别 CodeIgniter 3.0 数据库功能。
我的配置目录中有一个autocomplete.php 文件,该文件非常适用于 CodeIgniter 2.x(以及大多数 v3.0)。由于 v3 删除了活动记录类,因此不再识别 DB 函数。
// help IDE(s) support Codeigniter 2.0
* @property CI_DB_active_record $db <-- no longer valid.
...
*/
如何让 PhpStorm 自动完成功能与新的 CI v3 DB 类一起使用?
更新:这是我的 autocomplete.php 文件:
<?php
// help IDE(s) support Codeigniter 2.0
/**
* @property CI_DB_query_builder $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
*
*
*
* These are samples entries to make my own functions work. Remove these and add you custom ones.
* @property Tank_auth $tank_auth
* @property Users_model $users_model
* @property Firms_model $firms_model
* @property Event_types_model $event_types_model
* @property Files_model $files_model
* @property Milestones_model $milestones_model
*
*
*/
class CI_Controller {}; class MY_Controller extends CI_Controller {}; class Welcome extends MY_Controller {}; class Admin_Controller extends MY_Controller {}; class CI_Model {}; class MY_Model extends CI_Model {};/**
* @property CI_DB_query_builder $db
* @property CI_DB_forge $dbforge
* @property CI_Config $config
* @property CI_Loader $load
* @property CI_Session $session
*/
// class CI_Model {};
/* End of file autocomplete.php */
/* Location: ./application/config/autocomplete.php */
在控制器中,$this->db->where();被识别,并且单击命令将我带到该功能的来源。但是,单击 $query->num_rows() 时会出现“找不到要转到的声明”错误。
在模型中,不识别任何 CI DB 函数。
【问题讨论】:
标签: codeigniter phpstorm