Подтвердить что ты не робот

Как включить автозаполнение в PHPStorm для рамки CodeIgniter

В проекте CodeIgniter я обычно использую следующие команды для выполнения sql.

$res = $this->db->select('*')
                 ->from('customer')
                 ->where('customer.id', $id)
                 ->get();

Но, к сожалению, мой PHP Storm (5.0) не поддерживал несколько автозаполнений (я не знаю, как это сказать)

Например, в netbeans Если я набрал

$res = $this->db->select('*')->

Он автоматически выведет остальную часть функции. Но в PHPStorm это не разбудило. Его рабочий первый уровень завершен только.

4b9b3361

Ответ 2

скачать https://github.com/topdown/phpStorm-CC-Helpers/releases

Пометить как обычный текст

  • /system/core/Controller.php
  • /system/core/Model.php
  • /system/database/DB_active_rec.php

Затем распакуйте загруженный архив, скопируйте его в корневой каталог вашего проекта

Это все Ссылки Mifas делают то же самое, хотя

Ответ 3

Отвечая на очень старый, но все же актуальный вопрос -

Я нашел лучшее решение здесь - http://validwebs.com/346/code-completion-for-codeigniter-in-phpstorm/, и, по совпадению, это тот же автор/владелец проекта Джефф Бехне.

Цитата из этого, которая должна быть прочитана в продолжении ответа Сабира -

Отметить как обычный текст

/system/core/Controller.php
/system/core/Model.php
/system/database/DB_active_rec.php

Маркировка этих файлов в виде простого текста останавливает phpStorm от их индексирования как источники.

Я рассматриваю решение в ссылке лучше, потому что оно объясняет обоснование выполненных шагов.

Он дополнительно объясняет, как мы можем добиться завершения кода в представлениях и исправить для undefined vars.

Повторное цитирование исходного источника для удобства и сохранения здесь:

Завершение кода в представлениях и фиксации undefined vars.

Пример кода контроллера.

public function index()
{
  // Example view vars
  $data['test'] = 'Testing vars in CodeIgniter!     This is from $data["test"].';

  $this->load->view('welcome_message', $data);

}

Мы добавили массив данных в представление пути CI. Каждый индекс в массиве является другой переменной.

Вид...

В phpStorm $test будет выделен как undefined var. Чтобы исправить это мы используем аннотации phpDoc.

<p style="font-weight: bold;">
<?php
/**
 * $data array holds the $test value
 * 
 * @see Welcome::index()
 * @var Welcome $test
 */
echo $test;
?>
</p>

Документирование этого способа не только исправляет ошибку/предупреждение phpStorm, но также дает нам всплывающее окно документации для теста $. Также @see свяжет в том месте, где оно было создано, в этом случае индексный метод в Класс приветствия.

Теперь определяется var и показывает, что это.

Ctrl + клик по этой ссылке метода приведет вас к методу где $test определен.

Вот несколько моих собственных открытий при добавлении настроек в мой проект:

Если вы хотите, чтобы ваши пользовательские библиотеки приложений из CI были доступны для автозаполнения, тогда есть два сценария, которые могут быть полезны:

1. Для пользовательских расширенных библиотек, таких как MY_Upload, расширяющих класс CI_Upload

Замените @property CI_Upload $upload на @property MY_Upload $upload в CI_phpstorm.php

Это сделает все имена переменных класса и функций MY_Upload доступными для автозаполнения в дополнение к классу CI_Upload.

2. Для полностью настраиваемых библиотек, написанных с нуля в приложении CI -

Например, чтобы включить автозаполнение из Custom_Library.php, находящегося в папке приложения/библиотек, вам нужно добавить в php doc в CI_phpstorm.php @property Custom_Library $custom_library