(Версия PHPStorm 8.0.3 с CodeIgniter 3, работающая на Mac OS X Yosemite 10.10.3)
Как говорится в заголовке, в настоящее время я испытываю частичное завершение кода.
Сначала у меня ничего не было, я использовал следующую ссылку для добавления частичной части:
Теперь я могу, например, увидеть завершение кода для $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 не может дать мне завершение кода
Как я могу это исправить?
Я только что проверил это, и я могу подтвердить, что он работает, но не идеально, но он будет генерировать автозаполнение для $ 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->
}
Из моего понимания.
Пока вы следовали одному из этих вариантов
Вариант 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
на хелпер.
CI3
поскольку CI3 был выпущен в апреле 2015 года. См. Forum.codeigniter.com/thread-61799.html Помощники буквально переопределяют документацию по умолчанию для источник CI внутри PHPStorm.