【问题标题】:PhpStorm does not recognize CodeIgniter v3.0 database method in classPhpStorm 无法识别类中的 CodeIgniter v3.0 数据库方法
【发布时间】: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


    【解决方案1】:
    1. https://gist.github.com/topdown/1697338下载gist文件
    2. 将它放在 CodeIgniter 项目的根目录中(index.php 所在的位置)。
    3. 在 PhpStorm 的项目视图面板中,转到(展开)system/core/
    4. 右击Controller.php并选择Mark as Plain Text
    5. Model.php做同样的事情

    我正在使用 PhpStorm 9,这可能会有所帮助。

    【讨论】:

    • 感谢您的回答,但请仔细阅读问题。这是 CI v3.0 的问题。您链接到的文件适用于 CI 2.x。 Active Record 类在 3.0 中消失了
    • @TimDunklee 仍然可以通过如果您使用 CI 3,您可能需要更改一些类名。 但是你也可以在这个文件中添加类声明,所以在你的属性 cmets 像上面这样放东西之后: 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 {}; 我已经使用 CI-3 和 phpstorm 在我的朋友系统上配置了它试试这个肯定会工作
    • 我相信我的问题是我不知道用什么来替换它: * @property CI_DB_active_record $db 现在活动记录已经消失了。我确实尝试了您的建议,但没有成功。对不起...
    • @TimDuncklee 您已替换系统文件夹中的 DB.php 并查找在 CI-3 中更改的其他文件
    • 嗯...我认为替换系统文件并不明智。即使我想这样做,我也不知道用什么代替它......
    【解决方案2】:

    以下步骤非常简单:-

    1. 创建 phpstorm.php 文件并将其放在 CodeIgniter 项目的根目录中。
    2. 在 PhpStorm 的 Project View 面板中,转到(展开)system/core/。
    3. 右键单击 Controller.php 并选择标记为纯文本。
    4. 对 Model.php 执行相同的操作以进行模型导航。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2016-09-02
      • 2014-12-17
      • 2017-05-25
      • 2020-10-19
      • 1970-01-01
      • 2015-10-28
      相关资源
      最近更新 更多