Частичное завершение кода PHPStorm CodeIgniter 3

1

(Версия PHPStorm 8.0.3 с CodeIgniter 3, работающая на Mac OS X Yosemite 10.10.3)

Как говорится в заголовке, в настоящее время я испытываю частичное завершение кода.

Сначала у меня ничего не было, я использовал следующую ссылку для добавления частичной части:

  1. https://github.com/topdown/phpStorm-CC-Helpers/blob/master/README.md#using-the-my_modelsphp (Он работает для меня без и с решением "маркировка как обычный текст")

Теперь я могу, например, увидеть завершение кода для $this->..., давая мне варианты сначала, которых у меня не было.

Когда я использую $query->row_array(); у меня появляется предупреждающее сообщение метода "необоснованного" метода из PHPStorm $query->row_array(); после назначения $query = $this->db->get_where('news', array('slug' => $slug)); , Так что в этом случае мое завершение кода не работает (оно не может найти его).

Полный код этого класса находится ниже.

class News_model extends CI_Model
{
    public function __construct()
    {
        $this->load->database();
    }

    public function get_news($slug = FALSE)
    {
        if($slug === FALSE)
        {
            $query = $this->db->get('news');

            return $query->result_array();
        }

        $query = $this->db->get_where('news', array('slug' => $slug));

        return $query->row_array();
    }
}

Когда я запускаю поиск метода 'row_array', он находится в 'System'> 'database'> 'db_result.php'. Поэтому он определен, но PHPStorm не может дать мне завершение кода

Как я могу это исправить?

  • 0
    Вы на самом деле спрашивали кого-нибудь в JetBrains? У них есть база знаний и активный форум сообщества: jetbrains.com/devnet/phpstorm
  • 0
    эй @BillKarwin, нет, это общая ошибка: / пожалуйста, смотрите мои изменения в посте
Показать ещё 4 комментария
Теги:
codeigniter
phpstorm

2 ответа

0

Я только что проверил это, и я могу подтвердить, что он работает, но не идеально, но он будет генерировать автозаполнение для $ query var.

Я использовал это в своем проекте. https://gist.github.com/gentoid/4353692

Затем вам нужно сделать код следующим образом:

public function index($slug)
{
    /** @var CI_DB_result $query */
    $query = $this->db->get();

    //this will now produce auto complete in PHPStorm because 
    //it knows that object the $query var contains.
    //$query->
}

также вы можете это сделать

/**
 * @return CI_DB_result
 */
public function getData()
{
    return $this->db->get();
}

public function test()
{
    $query = $this->getData();

    //this will now produce auto complete in PHPStorm because 
    //it knows that object the $query var contains.
    //$query->
}
0

Из моего понимания.

Пока вы следовали одному из этих вариантов

Вариант 1 = Файл> Настройки> Каталоги> Добавить корневой каталог содержимого> Выберите каталог в phpStorm-CC-помощниках, релевантный> mark Resource Root

Вариант 2 = В окне проекта щелкните правой кнопкой мыши "Внешние библиотеки"> "Настроить пути включения PHP". Затем добавьте путь к соответствующим помощникам phpStorm-CC

Затем, согласно вспомогательным аннотации /CI_DB_active_record это то, что возвращается, когда вы вызываете get_where. Убедитесь, что файл /system/database/DB_active_rec.php помечен как обычный текст, чтобы среда IDE могла проанализировать ее для автозаполнения.

Если вы используете CodeIgniter 3, /system/database/DB_active_rec.php и класс /CI_DB_active_record были удалены из источника CodeIgniter, значит, для /CI_DB_active_record не будет найдена /CI_DB_active_record которая /CI_DB_active_record на хелпер.

  • 0
    Я действительно использую CodeIgniter 3, но предоставленные мне решения не будут работать в readme или что-то не работает
  • 0
    Учитывая, что помощники, на которые вы ссылались, были в последний раз обновлены 2 года назад, я очень сомневаюсь, что они применимы к CI3 поскольку CI3 был выпущен в апреле 2015 года. См. Forum.codeigniter.com/thread-61799.html Помощники буквально переопределяют документацию по умолчанию для источник CI внутри PHPStorm.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню