ECLIPSE :: Intellisense funktioniert nicht richtig

NetBull

Erfahrenes Mitglied
Moin,

ich richte mir nun endlich eine LINUX Maschine zum Arbeiten ein, weil ich glaube das es besser ist, Code für Linux auch auf LINUX (derzeit Lubuntu) zu schreiben.

Derzeit bin ich dabei mir Eclipse PDT mit PHP unit auf zu setzen.
Wenn ich nun eine Klasse zum Testen von PHPUnit_Framework_TestCase ableite, dann funktioniert mein Intellisense nicht mehr. (Siehe php1.png).

Wenn ich die Ableitung raus nehme, dann geht alles wieder normal. (Siehe php2.png).
Hat jemand eine Idee woher das kommt und wie ich das fixe?

Zur Phpunit habe ich die externe phpunit.phar eingebunden. Die ist ausführbar und liegt im Home des Users.

cu NetBu||
 

Anhänge

  • php1.png
    php1.png
    227,8 KB · Aufrufe: 12
  • php2.png
    php2.png
    233,8 KB · Aufrufe: 13
Hallo Saftmeister, ...

hoffe Du hattest schöne Weihnachten. Wir haben Dich vermisst :)

Eclipse Version:
Code:
Eclipse Standard/SDK

Version: Kepler Service Release 2
Build id: 20140224-0627

(c) Copyright Eclipse contributors and others 2000, 2014.  All rights reserved.
Visit http://eclipse.org/eclipse

This product includes software developed by the
Apache Software Foundation http://apache.org/


PDT Version:
Code:
PHP Development Tools (PDT)    3.2.0.201306051924    org.eclipse.php.feature.group    Eclipse.org

Kann ich nachträglich sehen als was ich die PHAR eingebunden habe?

LG NetBu||
 
Eigentlich gar nicht. Composer läd alle Abhängigkeiten ins vendor-Verzeichnis, und mit Hilfe des Eclipse-Plugins wird der Include-Path automatisch angepasst. Vorteil ist halt, dass man relativ einfach die Versionen der Abhänigkeiten anpassen und neue Abhängigkeiten hinzufügen kann, ohne sich durch mehrere Dialoge zu hangeln. Einfach als require-Eintrag in die composer.json eintragen, composer lädt es runter und das Eclipse-Plugin passt den Include-Path an.

In Applikationen, die composer verwenden, bindet man die vendor/autoload.php ein und hat damit alles, was die Abhängigkeiten so anbieten.
 
@saftmeister ::

Moin Meister,

war leider länger im Stress so das ich erst jetzt dazu komme mal weiter an meiner neuen DEV zu schrauben.
Hab den Composer gleich über den Marketplace [Help][Eclipse Marketplace] Find "Composer" installiert.

Nun ist mir aber nicht klar wie es weiter geht.
Ich finde den Composer nicht im Eclipse. Installiert ist das Plugin jetzt.
Ist es nachher so das ich mit Eclipse (direkt aus Eclipse also) ein php projekt erstelle in dem die Abhängigkeiten wie php unit, eventuell gewünschte Frameworks direkt integriert sind? Oder bin ich hier mal wieder auf der falschen Fährte?

LG NetBu||
 
Wenn du das Composer-Plugin installiert hast, kannst du über "File" => "New" => "Other" => "Empty Composer Project" ein Projekt erstellen, was composer als Instrumentationstool verwendet. Dadurch wird ein Standard-Layout-Projekt mit composer.json erstellt. Diese composer.json kannst du jetzt entweder mittels den Assis (Overview, Dependencies, Autoload, etc) oder durch direkte Anpassung im Code (composer.json) an deine Bedürfnisse anpassen. Natürlich musst du die composer.json durch Doppelklick öffnen (sofern noch nicht passiert) und hast dann unterhalb des Editors die Reiter für Overview, Deps, etc. Wenn du jetzt bpsw. die Abhängigkeit zu phpunit herstellen willst, hast du zwei Möglichkeiten:

1. Hinzufügen durch den Assi
a. Klicke auf den Reiter "Dependencies"
b. Selektiere die Requirements für "Development" unterhalb von "Requirements"
c. Trage bei "Packagist Search" den Text "phpunit" ein, setze den Haken bei "phpunit/phpunit", wähle im Feld darunter die gewünschte Version (z.B. 4.4.1:stable) aus und klicke auf den Button "Add Dependencies".

2. Hinzügen durch manuelle Anpassung der composer.json
a. Klicke auf den Reiter "composer.json"
b. Wenn noch nicht vorhanden, füge den Bereich "require-dev" hinzu
c. Innerhalb von "require-dev" füge "phpunit" als Abhängigkeit ein.

Beispiel:

Javascript:
{
   "name" : "nkey/test-composer",
   "type" : "library",
   "require" : {
     "php" : ">=5.5"
   },
   "require-dev" : {
     "phpunit/phpunit" : "4.4.1"
   }
}

Anschließend kannst du im oberen rechten Eck auf den kleinen Käfer klicken, der "composer install --dev" ausführt. Dadurch werden die Abhängigkeiten in den "vendor" Ordner heruntergeladen und eine autoload.php in vendor erzeugt. Diese autoload.php kannst du bspw. in deinen Scripts mittels "include" einbinden und dadurch die Abhängigkeiten direkt verwenden.
 
Zurück