Автодополнение кода, наверно, один из лучших способов защиты от механических ошибок. Если вы привыкли его использовать, то можете определить, что допустили ошибку ещё до того как увидите её. Отсутствие окошка с вариантами автодополнения – первый признак опечатки. Eclipse, как и большинство других IDE, поддерживает эту функцию. Но автодополнение работает только для тех объектов, которые Eclipse может найти. И очень удобно, когда к таким объектам относятся не только стандартные функции PHP, но и все библиотеки и фреймворки, которые вы используете. В этой статье я расскажу о нескольких способах подключения автодополнения кода для сторонних библиотек.
В качестве примера рассмотрим фреймворк CodeIgniter. Прежде всего, рассмотрим самый простой вариант. По-умолчанию поиск выполняется только в стандартных библиотеках PHP и файлах текущего проекта. Т. е. вы можете просто добавить файлы CodeIgniter в проект и автодополнение будет работать. Точно также можно поступить и с любой другой библиотекой. Но, несмотря на свою простоту, этот способ имеет недостаток. Если у вас несколько проектов, которые используют CodeIgniter, то вы можете использовать одну и ту же копию системных файлов. В этом случае, гораздо интереснее использовать второй способ включения автодополнения. Примечание. Этот метод подробно рассмотрен на официальном форуме CodeIgniter. Идея следующая.
1) Создаем новый PHP проект и называем его CI_CORE (название, конечно, может быть любым). Копируем в этот проект все содержимое папки system из дистрибутива CodeIgniter (кроме папки application). 2) Создаем новый проект для нашего приложения, использующего CodeIgniter (название роли не играет). Во время создания связываем его с проектом CI_CORE. Для этого на вкладке Projects, нажимаем кнопку Add…, выбираем CI_CORE и жмем OK. Копируем в этот проект файл index. php и папку application из дистрибутива CodeIgniter. 3) Настраиваем CodeIgniter. Т. к. мы изменили стандартное размещение папок фреймворка, то нужно «рассказать» CodeIgniter где искать системные файлы. Все изменения делаются только в проекте с приложением (в CI_CORE ничего не меняем). В файле index.
php находим строку с переменной $system_folder и указываем новое размещение системных файлов