{"id":43,"date":"2011-01-08T22:27:30","date_gmt":"2011-01-08T21:27:30","guid":{"rendered":"http:\/\/pfft.ch\/wordpress\/?p=43"},"modified":"2011-01-08T22:34:12","modified_gmt":"2011-01-08T21:34:12","slug":"code-vervollstandigung-fur-cakephp-applikationen-unter-eclipse","status":"publish","type":"post","link":"https:\/\/www.pfft.ch\/wordpress\/2011\/01\/code-vervollstandigung-fur-cakephp-applikationen-unter-eclipse\/","title":{"rendered":"Code-Vervollst\u00e4ndigung f\u00fcr CakePHP-Applikationen unter Eclipse"},"content":{"rendered":"<p>Die <a href=\"http:\/\/www.eclipse.org\/\" target=\"_blank\">Eclipse-IDE<\/a> eignet sich zum Entwickeln von vielen Programmiersprachen, unter anderem auch <a href=\"http:\/\/www.php.net\" target=\"_blank\">PHP<\/a>. Ich bin zur Zeit am Entwickeln eines Webprojekts mit Hilfe des Frameworks <a href=\"http:\/\/www.cakephp.org\" target=\"_blank\">CakePHP<\/a>. Dieser Eintrag erkl\u00e4rt Schritt-f\u00fcr Schritt wie man die Code-Vervollst\u00e4ndigung f\u00fcr ein Projekt aktiviert ohne den ganze CakePHP-Code im Eclipse-Projekt zu haben.<!--more--><\/p>\n<p>F\u00fcr die nachfolgende Einrichtung wird vorausgesetzt, dass Eclipse installiert ist (mit PHP-Unterst\u00fctzung), das CakePHP-Framework ebenfalls heruntergeladen und entpackt wurde und \u00fcber den (lokalen) Webserver erreichbar ist (die Startseite meldet das erfolgreiche Backen der Anwendung). Falls schon mehr vom Projekt besteht =&gt; umso besser.<\/p>\n<ol>\n<li>Neues Projekt erstellen (File -&gt; New -&gt; PHP Project)<\/li>\n<li>Projektname eingeben (beliebig)<\/li>\n<li>Im Feld &#8222;Contents&#8220; die Auswahl &#8222;Create project at existing location (from existing sources)&#8220; ausw\u00e4hlen und das &#8222;app&#8220;-Verzeichnis aus dem CakePHP-Verzeichnis ausw\u00e4hlen. Bei der Standart-Installation von CakePHP befinden sich die applikationsspezifischen Daten im Verzeichnis &#8222;app&#8220;, die Framework spezifischen Daten in &#8222;cake&#8220; und in &#8222;plugins&#8220; und &#8222;vendors&#8220; befindet sich nichts.<\/li>\n<li>Auf &#8222;Next &gt;&#8220; klicken<\/li>\n<li>Im Abschnitt &#8222;Libraries&#8220; auf &#8222;Add Library&#8230;&#8220; klicken und dort &#8222;User Library&#8220; ausw\u00e4hlen.<\/li>\n<li>Falls CakePHP nicht bereits in der Liste angezeigt wird auf &#8222;Configure&#8230;&#8220; klicken.<\/li>\n<li>&#8222;New&#8230;&#8220;-Button anklicken um eine neue PHP-Library anzulegen.<\/li>\n<li>In das Feld &#8222;User library name&#8220; den Namen von CakePHP eingeben, z.B. &#8222;CakePHP Version 2.0 DEV&#8220;. Mit &#8222;OK&#8220; best\u00e4tigen. Die Nennung der Versionsnummer erleichtert das Handling falls mehrere Projekte mit verschiedenen CakePHP-Version in Eclipse entwickelt werden.<\/li>\n<li>Nun den eben angelegten Eintrag ausw\u00e4hlen und auf der rechten Seite &#8222;Add External folder&#8230;&#8220; anklicken. Im Auswahl-Bildschirm das &#8222;cake&#8220;-Verzeichnis ausw\u00e4hlen (worin sich die Framework-spezifischen Dateien befinden). Best\u00e4tigen.<\/li>\n<li>Den obigen Schritt f\u00fcr die Verzeichnisse &#8222;plugins&#8220; und &#8222;vendors&#8220; wiederholen. Wichtig: Nicht die plugins\/vendors-Unterverzeichnis aus dem &#8222;app&#8220;-Folder ausw\u00e4hlen sondern aus dem Elternverzeichnis.<\/li>\n<li>Alle Fenster schliessen bis nur noch das Fenster &#8222;New PHP Project&#8220; offen ist und dort den Reiter &#8222;Order&#8220; ausw\u00e4hlen.<\/li>\n<li>\u00dcberpr\u00fcfen und allenfalls korrigieren, dass das Projekt-Verzeichnis zu oberst in der Liste steht. Anschliessend mit &#8222;Finish&#8220; beenden.<\/li>\n<\/ol>\n<p>Fertig. Ab sofort hat man nun Code-Vervollst\u00e4ndigung zur Hand.<\/p>\n<p>Falls man auch Unit-Tests entwickelt will, kann das Unit-Test-Framework ebenfalls als &#8222;User Library&#8220; eingebunden werden. Somit hat man auch Zugriff auf alle Methoden des Frameworks in der Code-Vervollst\u00e4ndigungsliste. Zumindest funktioniert das f\u00fcr CakePHP-Version 2, das als Unit-Test-Framework auf <a href=\"http:\/\/www.phpunit.de\" target=\"_blank\">PHPUnit<\/a> setzt. Aber es sollte auch f\u00fcr Version 1.3.* funktionieren, dass noch auf <a href=\"http:\/\/www.simpletest.org\" target=\"_blank\">SimpleTest<\/a> setzt.<\/p>\n<p>Falls das Eclipse-Projekt bereits besteht oder \u00c4nderungen an den Bibliothekseinstellungen gemacht werden m\u00fcssen, k\u00f6nnen die \u00fcber die Projekt-Einstellungen vorgenommen werden (Project -&gt; Properties -&gt; PHP Include Path).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Eclipse-IDE eignet sich zum Entwickeln von vielen Programmiersprachen, unter anderem auch PHP. Ich bin zur Zeit am Entwickeln eines Webprojekts mit Hilfe des Frameworks CakePHP. Dieser Eintrag erkl\u00e4rt Schritt-f\u00fcr Schritt wie man die Code-Vervollst\u00e4ndigung f\u00fcr ein Projekt aktiviert ohne den ganze CakePHP-Code im Eclipse-Projekt zu haben.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,5,7],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-eclipse","category-entwicklung","category-php"],"_links":{"self":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":3,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/posts\/43\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pfft.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}