Помощник по коду с Eclipse и стандартными / основными функциями PHP - PullRequest
3 голосов
/ 05 ноября 2011

Я работал в течение 6 часов, пытаясь заставить мои стандартные основные функции PHP работать с Eclipse 3.6 и PDT 2.2.1. По какой-то причине такие функции, как echo, empty () и isset (), появляются после завершения кода, а функции, такие как strtotime () и array_push () - нет, даже когда я нажимаю CTRL + SPACE. Кроме того, функция mysql_connect () появляется в помощнике по коду, но mysql_query - нет.

Я просмотрел несколько результатов поиска Google и вопросы и ответы о стековом потоке и нашел много решений, похожих на это:

Завершение кода / помощь для встроенных функций PHP в Eclipse PDT

Я убедился, что мой .buildpath выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/harvestopia"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/bin/php/php5.3.6"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework"/>
    <buildpathentry kind="src" path=""/>
</buildpath>

Мой .project выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>harvestopia</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.dltk.core.scriptbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.maziarz.yiiclipse.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.php.core.PHPNature</nature>
        <nature>org.maziarz.yiiclipse.nature</nature>
    </natures>
</projectDescription>

Мой .settings / org.eclipse.php.core.prefs выглядит так:

#Sat Nov 05 00:40:34 MDT 2011
eclipse.preferences.version=1
include_path=1;/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework

Я действительно бьюсь головой о стену и могу действительно использовать некоторые советы.

ОБНОВЛЕНИЕ: Без Yiiclipse это все еще не работает. Я создал новый проект в новой рабочей области под названием Test. Файлы выглядят следующим образом, но все еще не поддерживают код в стандартных функциях.

.project:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>test</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.dltk.core.scriptbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.php.core.PHPNature</nature>
    </natures>
</projectDescription>

.buildpath:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
    <buildpathentry kind="src" path=""/>
    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>

.settings / org.eclipse.php.core.prefs:

#Sat Nov 05 09:38:26 MDT 2011
eclipse.preferences.version=1
include_path=0;/test

Ответы [ 3 ]

2 голосов
/ 05 ноября 2011

Через 6 часов я разобрался, что работает.Я понятия не имею, почему это работает, но это, вероятно, связано с зависимостями и другим мусором, который я сейчас не понимаю.

Что я сделал:

1) Удалите Yiiclipse (левый PDT)установлен) 2) удалил все файлы из моего рабочего пространства 3) создал новый проект PHP, например «блог» в моем веб-корне 4) используя скрипт yiic, я создал новое веб-приложение в папке блога 5) открыл Eclipse и обновилпроект.6) Щелкните правой кнопкой мыши на проекте-> Build Path-> Configure Build Path 7) Нажмите на Link Source ... 8) Связано с расположением папки webroot / YiiRoot / framework 9) Выберите «Обновить фильтры исключений в других исходных папках, чтобы решить вложение»"

Все работало как задумано.

1 голос
/ 05 ноября 2011

Я обнаружил, что установка PDT как зависимости yiiclipse вызывает ту же проблему (вероятно, не все зависимости включены в yiiclipse).Но если вы удалите yiiclipse, установите плагин PDT SDK (с сайта обновлений indigo) и снова yiiclipse - выполнение кода для функций библиотеки std работает нормально.

0 голосов
/ 22 июня 2016

Я решил просто так:

Щелкните правой кнопкой мыши свой проект в проводнике проекта и выберите

Настройка »Добавить поддержку PHP ...

enter image description here

...