ECLIPSE :: Intellisense funktioniert nicht richtig

Ok, du gibst da an, dass du PHP in Version größer gleich 5.6 vorraussetzt für dein Projekt. Du hast aber nur 5.5 installiert. Das ist dann schon mal ein Problem, was composer nicht auflösen kann. Alles was composer runter laden kann, wird er runter laden. Er sucht auf https://packagist.org/ nach den Paketen, du du als Abhängkeit angibst. PHP wird eigentlich als Binary installiert und wird von Composer nicht runtergeladen, er geht davon aus, dass es installiert sein muss, weil composer ja selbst ein PHP-Programm ist. Du kannst in deiner composer.json angeben, dass du eine bestimmte PHP-Version voraussetzt, weil du bpsw. ein Feature von PHP einsetzt, was erst ab dieser Version integriert ist. Notiere mal

Code:
"require" : {
        "php" : ">=5.5",
        "phpunit/phpunit" : "4.4.1@stable"
    }

dann sollte zu mindest deine lokale PHP-Installation schon mal akzeptiert werden.
 
wenn ich 5.3 einstelle dann geht es.
Nun habe ich ein src verzeichnis und ein vendor verzeichnis.
das heisst statt localhost/folder nehme ich an es heisst nun localhost/folder/src also mein php code muss ins src verzeichnis? Warum hab ich da nun symfony und doctrine und bin und so .. mauss das vendor verzeichnis mit auf den server, wenn ich den code ausrolle?
 
Für heute geb ich mal auf. Aber Composer ist zwar ungewohnt, hab aber das Gefühl das es mir eine Menge Probleme abnehmen wird. Das ist wie Maven für Java, oder? Das heisst wenn ich ZEND oder Symfony brauche, muss ich das nur angeben....?
 
das heisst statt localhost/folder nehme ich an es heisst nun localhost/folder/src also mein php code muss ins src verzeichnis?

So ist es. Unterhalb von src kommt dein eigener PHP-Code rein. vendor beinhaltet alle Abhängigkeiten, also 3rd-Party-Pakete.

Warum hab ich da nun symfony und doctrine und bin und so ..

Weil auch alle Abhängigkeiten der Abhängigkeiten runtergeladen werden müssen, die du eingetragen hast. PHPUnit stellt ein paar Anforderungen. Unter anderem sind da Teile aus symfony dabei. Da du jedoch phpunit unter "require-dev" gestellt hast, wird beim finalen Deployment auf deinem Server phpunit nicht benötigt und damit auch Symfony nicht. Deswegen gibt es require-dev.

mauss das vendor verzeichnis mit auf den server, wenn ich den code ausrolle?

Jain. Wenn auf deinem Server composer installiert ist, oder du es mitlieferst, kannst du auf dem Server "composer install" aufrufen, den Rest wird composer übernehmen. Du sparst damit also Bandbreite, da du "nur" deinen Code, die composer.json und ggf. composer.phar auf den Server laden musst.
 
Das ist wie Maven für Java, oder?

Nicht ganz. Maven macht noch mehr als Abhängigkeiten auflösen. composer kann zwar auch in den Build- und Deployment-Process eingebaut werden, jedoch musst du das über Custom-Scripts in der composer.json lösen.

Das heisst wenn ich ZEND oder Symfony brauche, muss ich das nur angeben....?

Genau. Entweder über "Dependencies" im Assi oder manuell un vorher über packagist suchen.
 
Der SRC Ordner ist dann das wo mein PHP code steht, oder? Wenn ich das auf einen produktiven Server deploye, muss dann nur der src Ordner rein oder alles? Also vendor ordner, composer dateien im root ...

erster Probelauf:

Code:
usr@mosys-dev-lubuntu:/var/www/html/composer3$ phpunit
PHP Fatal error:  Class PHPUnit_TextUI_ResultPrinter contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (PHPUnit_Framework_TestListener::addRiskyTest) in /usr/share/php/PHPUnit/TextUI/ResultPrinter.php on line 664
PHP Stack trace:
PHP   1. {main}() /usr/local/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:612
PHP   3. PHPUnit_TextUI_Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:138
PHP   4. PHPUnit_TextUI_Command->handleArguments() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:148
PHP   5. PHPUnit_TextUI_Command->handlePrinter() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:673
PHP   6. require() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:783
usr@mosys-dev-lubuntu:/var/www/html/composer3$

so ganz hab ich das wohl noch nicht. So, für heute reichts es...
cu...
 
@saftmeister ::

nAbend....

ich komm da nicht weiter. lol.
Wenn ich den Composer über eclipse benutze, darf dann vorher schon phpunit, php5 etc installiert sein?

LG NetBu||

Nachtrag :: mit den PHP Tools Integration für Eclipse kann ich nun einen Unit-Test laufen lassen. Im Vendor Verzeichnis ist nun auch ein PHPunit Ordner. Vermutlich versuche ich aus der Konsole mit einem anderen PHPunit und das ist kaputt... Wird mir dann jedes Neue Projekt mit einem eigenen PhpUnit ausgestattet? Bzw ich brauch ausser Apache, PHP und MySql gar nichts mehr aufsetzen?
 
Zuletzt bearbeitet:
ui....
phpunit.xml war nicht eingestellt. Jetzt läuft es.
Allerdings sind die Reports CodeCoverage, etc alle leer. Aber das findet sich noch...
 
Zurück