Ralf Eggert. Zend Framework 2. Das Praxisbuch

Größe: px
Ab Seite anzeigen:

Download "Ralf Eggert. Zend Framework 2. Das Praxisbuch"

Transkript

1 Ralf Eggert Zend Framework 2 Das Praxisbuch

2 Auf einen Blick Auf einen Blick TEIL I Die Grundlagen 1 Einführung in das Zend Framework Neuerungen im Zend Framework Das Zend Framework einrichten TEIL II Die Komponenten 4 Basis-Komponenten Der Event-Manager Service Location & Dependency Injection Der Modul-Manager MVC-Komponenten View-Komponenten Datenbank-Komponenten Ausgabe-Komponenten Formularverarbeitung Benutzermanagement Sonstige Komponenten TEIL III Die Module 15 Das Anwendungsmodul Das Blog-Modul Das Benutzer-Modul Das Pizza-Modul Das Kommentar-Modul Das Spamabwehr-Modul Das CMS-Modul Das Shop-Modul

3 Inhalt Inhalt Geleitwort Vorwort Vorwort des Autors zur Vorauflage TEIL I Die Grundlagen 1 Einführung in das Zend Framework Abgrenzung zu anderen PHP-Frameworks Die Zielgruppe des Buches Wegweiser Überblick über die Komponenten Listings, Projektdateien, Programmierrichtlinien Der Zend Framework 2-Kosmos Links zum Buch Neuerungen im Zend Framework Begrifflichkeiten PHP-Version PHP-Namespaces Closures Late Static Binding Git und GitHub Neue Konzepte Verbesserte Modularität Dependency Injection Service-Locator Ereignisgesteuerte Architektur Komponentenvergleich Vor- und Nachteile des ZF

4 Inhalt 3 Das Zend Framework einrichten Voraussetzungen PHP-Version PHP-Extensions Apache 2-Konfiguration Virtual Host einrichten unter Linux Virtual Host einrichten unter Windows Weitere Informationen Zend Framework 2 installieren Installation aus einem ZIP-Paket Installation mit Pyrus Installation mit Composer SkeletonApplication installieren Installation aus einem ZIP-Paket Installation mit Git Einrichtung mit Composer Struktur einer Zend Framework 2-Anwendung Hauptverzeichnis Das Konfigurationsverzeichnis Das Public-Verzeichnis Vendor-Verzeichnis Das Modulverzeichnis Kaskadierendes Laden der Konfigurationsdaten Autoloading mit Composer TEIL II Die Komponenten 4 Basis-Komponenten Zend\Loader StandardAutoloader ClassMapAutoloader AutoloaderFactory Eigenen Autoloader erstellen Zend\Config Konfigurationsdateien lesen Konfigurationsdateien schreiben

5 Inhalt 4.3 Zend\Cache Cache-Storages Storage-Plugins und Capabilities Cache-Patterns Zend\Log Zusammenspiel der Teilkomponenten Writer Formatter Filter Zend\Mail und Zend\Mime Eine -Nachricht erstellen Eine -Nachricht versenden MIME-Nachricht erstellen Nachrichten abrufen Zend\Filter Standardfilter Statische Filter Filterketten Eigenen Filter erstellen Zend\Validator Standardvalidatoren Statische Validatoren Validatorketten Eigenen Validator erstellen Validator-Fehlermeldungen anpassen Der Event-Manager Einführung EventManagerAwareInterface Listener mit Closures umsetzen Listener mit Aggregaten umsetzen Übergabe von Parametern an Listener SharedEventManager

6 Inhalt 6 Service Location & Dependency Injection Zend\ServiceManager Beispielklassen Unterstützte Instanziierungsarten Den Service-Manager konfigurieren Konfigurationsklasse Konfigurationsdatei Initializer einrichten Abstrakte Fabrik verwenden Den Service-Manager richtig nutzen Zend\Di Automatische Erkennung mit»runtimedefinition« Definition kompilieren mit»compilerdefinition« Abhängigkeiten konfigurieren Zend\Di richtig nutzen Der Modul-Manager Einführung Aufbau eines Moduls Die Modul-Klasse Das Konfigurationsverzeichnis Assets im Public-Verzeichnis Das Source-Verzeichnis Tests Das View-Verzeichnis Modulkonfiguration Autoloading konfigurieren Konfigurationsdaten bereitstellen Services konfigurieren Controller konfigurieren Controller-Plugins konfigurieren View-Helper konfigurieren Weitere Konfigurationen Ein Anwendungsmodul entwickeln Die Modul-Klasse Modulkonfiguration

7 Inhalt Controller und View-Script einrichten Request-Parameter verwenden Library-Modul erstellen Fremdmodule installieren Die ZendDeveloperTools mit Composer installieren ZfcUser und ZfcBase mit Git klonen MVC-Komponenten Einführung Application Initialisierungsprozess Bootstrapping Der Verarbeitungsprozess Services Routing Route-Typen Der Route-Typ»Hostname« Der Route-Typ»Literal« Der Route-Typ»Regex« Der Route-Typ»Segment« SimpleRouteStack TreeRouteStack Routing konfigurieren Routing-Tipps Events Das»route«-Event für die Sprachfestlegung nutzen Das»dispatch.error«-Event für das Logging nutzen Das»finish«-Event für die Zeitmessung nutzen Controller Einführung Action-Controller Zugriff auf Objekte Services injizieren RESTful-Controller Controller-Plugins Zugriff auf Plugins

8 Inhalt Das»Layout«-Plugin Das»Url«-Plugin Das»Redirect«-Plugin Das»Forward«-Plugin Das»Params«-Plugin Das»PostRedirectGet«-Plugin Das»FilePostRedirectGet«-Plugin Das»FlashMessenger«-Plugin Ein eigenes Plugin erstellen View-Komponenten Einführung in Zend\View Bestandteile Teilkomponenten Konfiguration ViewModels ViewModels verschachteln Weitere View-Models Resolver, Renderer und Strategies Resolver Renderer Strategies View-Scripts View-Helper View-Helper für HTML-Kopfdaten View-Helper für URLs View-Helper für das Escaping Weitere View-Helper Einen eigenen View-Helper erstellen Template-Engines Datenbank-Komponenten Das Datenbankmodell Datenbankadapter

9 Inhalt Konfiguration eines Adapters Ausführen von lesenden Abfragen Ausführen von schreibenden Abfragen ResultSet für Adapter konfigurieren SQL-Abfragen generieren Lesende Abfragen generieren Schreibende Abfragen generieren Abfragen mit DDL generieren Gateway-Klassen Zend\Db\TableGateway TableGateway-Features Zend\Db\RowGateway Doctrine Installation und Konfiguration Modul und Entitäten vorbereiten Doctrine 2 einsetzen Ausgabe-Komponenten Zend\I18n Translator View-Helper Fehlermeldungen für Zend\Validator übersetzen Zend\Navigation Container und Seiten anlegen Navigation konfigurieren Navigation ausgeben Navigation und ACL Zend\Paginator Adapter für Zend\Paginator Seitennavigation Zend\Feed Feeds lesen Feeds schreiben Feeds mit Zend\Mvc und Zend\View Weitere Hilfskomponenten Zend\Escaper

10 Inhalt Zend\Json Zend\Tag Zend\Barcode Formularverarbeitung Zend\InputFilter Ein InputFilter-Objekt erstellen Factory mit Konfigurationsdaten nutzen InputFilter als eigenständige Klassen Hierarchische InputFilter InputFilter im MVC Zend\Form Einführung Ein Form-Objekt erstellen Fieldsets Collections Elemente Ausgabe mit View-Helpern Validierung von Formularen Objekte anbinden Annotationen Datei-Uploads Benutzermanagement Zend\Session Mit Session-Containern arbeiten Session-Manager verwenden Sessions in der Datenbank speichern Zend\Permissions\Acl Begrifflichkeiten ACL definieren ACL abfragen ACL cachen Zend\Permissions\Rbac Begrifflichkeiten

11 Inhalt RBAC definieren RBAC abfragen Zend\Authentication Per HTTP authentifizieren Gegen eine Datenbanktabelle authentifizieren Authentifizierungsservice Zend\Ldap Sonstige Komponenten Zend\Http HTTP-Anfrage senden und verarbeiten Verbindungsadapter Fortgeschrittener Einsatz Zend\Soap SOAP-Server bereitstellen SOAP-Client einsetzen Zend\XmlRpc XML-RPC-Server bereitstellen XML-RPC-Client einsetzen Zend\Crypt Zend\Stdlib TEIL III Die Module 15 Das Anwendungsmodul Anforderungen Anwendungsmodul konfigurieren Eigene View-Helper Der View-Helper»PageTitle« Der View-Helper»ShowMessages« Der View-Helper»ShowForm« Der View-Helper»Date«

12 Inhalt 15.4 Mehrstufiges Seitenlayout Menü im Seitenkopf einrichten Controller und View-Scripts Meldungen der Validatoren übersetzen Pagination Eigene Filter Der»StringToUrl«-Filter Der»StringHtmlPurifier«-Filter Konfiguration für beide Filter CKEditor Das Blog-Modul Anforderungen Das Blog-Modul einrichten Modelinfrastruktur Datenbank einrichten Klassen erstellen Filter und Formulare Filter und Validierung Formularklasse Factories Den Blog-Service einrichten Formular-Objekte injizieren Der Blog-Service Überblick Öffentlicher Bereich Action-Controller einrichten View-Scripts einrichten Administrationsbereich Action-Controller einrichten View-Scripts einrichten Optimierungen

13 Inhalt 17 Das Benutzer-Modul Anforderungen Vorbereitungen Authentifizierung und Autorisierung Authentifizierungsadapter Authentifizierungsservice Autorisierungsservice Konfiguration der Benutzerrechte User-Service einrichten View-Helper einrichten Der View-Helper»UserIsAllowed« Der View-Helper»UserShowWidget« UserListener einrichten Öffentlicher Bereich Den Action-Controller einrichten View-Scripts einrichten Das Pizza-Modul Anforderungen Vorbereitungen Modelinfrastruktur Pizza-Service einrichten Formulare einrichten Bild-Upload einrichten Administrationsbereich Ein Pizza-Karussell einrichten Das Kommentar-Modul Anforderungen Vorbereitungen

14 Inhalt 19.3 Modul-Konfiguration View-Helper einrichten Der View-Helper»CommentShowLinks« Der View-Helper»CommentShowComments« Einsatz der View-Helper Kommentare anlegen Kommentar-Service erweitern Das Spamabwehr-Modul Anforderungen Vorbereitungen Modul-Konfiguration Autoloading Spamabwehr-Service Controller-Plugin Der View-Helper»SpamCheck« Spamabwehr im Kommentar-Modul nutzen Konfiguration anpassen Entität anpassen Den Kommentar-Service anpassen Action-Controller anpassen View-Scripts anpassen Das Spamabwehr-Modul im Einsatz Das CMS-Modul Anforderungen Vorbereitungen Konfiguration CMS-Service Textblöcke View-Helper zur Ausgabe von Textblöcken

15 Inhalt 21.3 Ein Formular einrichten CMS-Service erweitern View-Helper für das Bearbeiten erweitern JavaScript-Funktionen Controller einrichten Das Shop-Modul Anforderungen Vorbereitungen Modelinfrastruktur Bestellservice Warenkorb-Service Controller-Plugin View-Helper Der View-Helper»ShowBasket« Der View-Helper»GetOrder« Der Warenkorb-Controller Warenkorb-View-Scripts Den Warenkorb im Pizza-Modul einsetzen Das Warenkorb-Modul im Einsatz Anhang 599 A Installation der Projektdateien A.1 ZIP-Pakete downloaden A.2 Dateien von GitHub klonen A.3 Installation ohne Composer A.4 Virtual Host anpassen B Weitere Komponenten C Performance-Tipps C.1 Autoloader ClassMap

16 Inhalt C.2 TemplateMap C.3 Die Modul-Konfiguration cachen C.4 Weitere Caches Index

17 Kapitel 2 Neuerungen im Zend Framework 2 2 Viele Umsteiger vom Zend Framework 1 sind besonders an den Neuerungen interessiert, die das Zend Framework 2 mit sich bringt. Für Umsteiger hat sich im ZF2 einiges geändert, sodass sie sich auf einen erneuten Lernaufwand einstellen müssen. Diese Hürde sollte jedoch niemanden abschrecken. Wer sich einmal in die neuen Konzepte und Komponenten eingearbeitet hat, der wird sie zukünftig nicht mehr missen wollen. Die größten Probleme treten am ehesten auf, wenn eine viel genutzte ZF1-Komponente im ZF2 nicht mehr zum Framework-Kern gehört. In solch einem Fall können Sie bei Bedarf zumindest übergangsweise immer noch die ZF1-Komponenten verwenden. Dieses Kapitel fasst die wesentlichen Änderungen beim Umstieg vom ZF1 auf das ZF2 zusammen. Wenn Sie sich bereits mit dem ZF1 auskennen, sollten Sie sich dieses Kapitel aufmerksam durchlesen. Einsteiger ins Zend Framework 2 sollten die Abschnitte über PHP 5.3, Git und GitHub sowie die neuen Konzepte genauer in Augenschein nehmen. Alle Listings aus diesem Kapitel finden Sie auf der buchbegleitenden Bonus-Seite. Details zur Installation finden Sie in Anhang A,»Installation der Projektdateien«. 2.1 Begrifflichkeiten Einige Begriffe werden in diesem Buch von Beginn an sehr häufig gebraucht, auch wenn diese im ZF1 für den Anwender nicht ganz so allgegenwärtig waren, wie sie es im ZF2 sind. Interfaces wurden bereits im ZF1 an vielen Stellen eingesetzt. Wenn Sie das ZF2 einsetzen, kommen Sie damit häufiger in Berührung. Ein Interface gibt vor, welche Methoden mit welchen Parametern in einer Klasse vorhanden sein müssen, wenn diese Klasse das Interface implementiert. Für Klassen, die von anderen Klassen verwendet werden, wird empfohlen, ein Interface als Basis zu erschaffen und dieses auch in den Methodensignaturen zu verwenden. Es heißt also nicht: function bakepizza(pizza $pizza) sondern: 33

18 2 Neuerungen im Zend Framework 2 function bakepizza(pizzainterface $pizza) Die Aufgabe von Factories ist es, ein Objekt zu erstellen. Dabei wird nicht einfach der Konstruktor dieser Klasse aufgerufen. Sondern es wird die Factory aufgerufen, die verschiedene Vorbereitungen trifft, um dann den Konstruktor aufzurufen. Diese Vorbereitungen sind in der Regel die Bereitstellung von anderen Objekten, die der Konstruktor bei der Initialisierung benötigt. Factories können als Klassen, Methoden oder Closures implementiert sein. In einer Modelinfrastruktur kann es verschiedene Bestandteile geben. Eine Entität stellt dabei ein einfaches Objekt, wie z. B. eine Pizza, ein Buch oder einen Blogbeitrag dar. Eine Datenquelle ist dafür zuständig, die Daten für eine Entität aus einer Datenbank oder einer anderen Datenquelle zu lesen. Um die Daten aus einer Datenquelle an eine Entität zu übergeben, bedarf es eines Mappers. Ein Hydrator ist ebenfalls eine Art Mapper, der Daten eines Arrays an ein Objekt übergeben kann und umgekehrt. Ein Model-Service hält alles zusammen. Er kommuniziert mit Datenquellen und Mappern, verarbeitet Entitäten, setzt Hydratoren ein und stellt eine Schnittstelle bereit, damit Controller auf die Modelinfrastruktur zugreifen können. 2.2 PHP-Version Die augenscheinlichste Neuerung ist der Wechsel auf PHP 5.3 als Mindestanforderung für das Zend Framework 2. Setzte das Zend Framework 1 noch PHP 5.2 voraus, so konnten durch den Umstieg auf PHP 5.3 eine Vielzahl neuer Funktionen genutzt werden. Der Zend Framework 2-Nutzer kommt am ehesten mit dem Einsatz von Namensräumen und der Verwendung von Closures in Berührung. Das Zend Framework 2 macht aber auch regen Gebrauch vom Late Static Binding. Trotz allem sollten Sie neue Projekte am besten gleich auf PHP 5.4 aufsetzen, da auch PHP 5.3 langsam in die Jahre gekommen ist PHP-Namespaces In PHP 5.2 wurden keine Namensräume unterstützt. Deshalb wurden im Zend Framework 1 künstliche Namensräume geschaffen, um die Klassen auf die Dateiebene abbilden zu können. Ein Beispiel: Die Klasse Zend_Loader_Autoloader ist im Zend Framework 1 in der Datei /library/zend/loader/autoloader.php abgelegt. Durch diese künstlichen Namensräume wird sichergestellt, dass es nicht zu Namenskollisionen mit anderen Autoloader-Klassen aus anderen Bibliotheken kommt. PHP 5.3 bietet echte Namensräume, sodass im Zend Framework 2 das Abbilden von Klassen auf Dateiebene vereinfacht wird. Die neue Klasse StandardAutoloader gehört 34

19 2.2 PHP-Version zum Namensraum Zend\Loader und befindet sich somit in der Datei /library/zend/ Loader/StandardAutoloader.php. Ein anderes Beispiel soll eine weitere Neuerung verdeutlichen: Im Zend Framework 1 befindet sich die Klasse Zend_Config in der Datei /library/zend/config.php. Im Zend Framework 2 dürfen im /library/zend/-verzeichnis keine Dateien liegen. Die äquivalente Klasse Config gehört somit zum Namensraum Zend\Config und befindet sich in der Datei /library/zend/config/config.php. 2 In Listing 2.1 ist auszugsweise die besagte Klasse Config zu sehen. Oben wird mit dem Schlüsselwort namespace der Namensraum definiert, zu dem die Klasse gehört. Mithilfe des Schlüsselwortes use werden andere Namensräume importiert, damit Klassen und Interfaces aus diesen Namensräumen in unserer Klasse verwendet werden können. Bei den Namensräumen ArrayAccess, Countable und Iterator handelt es sich übrigens um Namensräume, die von PHP 5.3 direkt bereitgestellt werden. namespace Zend\Config; use ArrayAccess; use Countable; use Iterator; class Config implements Countable, Iterator, ArrayAccess { // do whatever Listing 2.1 Namensraum-Deklaration für die Config-Klasse Die Verwendung der Namensräume ist jedoch nicht auf die Zend Framework 2-Bibliothek beschränkt. Auch in den Klassen und Anwendungsmodulen können und sollten Entwickler Namensräume definieren (zum Thema Modularität siehe Abschnitt 2.4.1,»Verbesserte Modularität«). In Listing 2.2 ist ein Action-Controller aus einem Application-Modul zu sehen. Dieser Klasse wurde der Namensraum Application\Controller zugewiesen. Die Klasse importiert vier Namensräume, von denen zwei zur Zend Framework 2-Bibliothek gehören und die beiden anderen zu einem Blog-Modul. Mithilfe des Schlüsselworts as kann einem Namensraum auch ein Alias gegeben werden. Dies ist erforderlich, da es ansonsten zwischen den beiden Klassen Blog\Service\Blog und Blog\Options\ Blog zu Namenskollisionen kommen könnte. namespace Application\Controller; use Zend\Mvc\Controller\AbstractActionController; 35

20 2 Neuerungen im Zend Framework 2 use Zend\View\Model\ViewModel; use Blog\Service\Blog as BlogService; use Blog\Options\Blog as BlogOptions; class IndexController extends AbstractActionController { Listing 2.2 Namensraum-Deklaration für einen Action-Controller ZF1-Umsteiger und ZF2-Einsteiger werden gleichermaßen die Vorteile der Namensräume schnell zu schätzen wissen und ihre Anwendung darauf aufbauen wollen Closures Eine Closure ist eine anonyme Funktion, die z. B. einer Variable zugeordnet werden kann. Sie wird als anonym bezeichnet, da diese Funktion keinen Namen hat, durch den sie aufgerufen werden könnte. Listing 2.3 zeigt ein einfaches Beispiel. Der Variablen $pizzaprice wird eine Closure zugewiesen. Diese Funktion nimmt die Anzahl der Zutaten entgegen und ermittelt damit den Preis einer Pizza, indem zu einem Grundpreis nochmals der Preis pro Zutat hinzuaddiert wird. Der Aufruf dieser Closure erfolgt dann direkt über die Variable $pizzaprice, die als Funktion verwendet werden kann. $pizzaprice = function($items) { return $items * 0.95; ; echo $pizzaprice(3); // output 6.8 echo $pizzaprice(7); // output 10.6 Listing 2.3 Beispiel für eine einfache Closure-Definition Eine Closure kann aber beim Aufruf nicht nur variable Parameter übergeben bekommen. Es ist auch möglich, bei der Definition Variablen mithilfe des Schlüsselwortes use zu übergeben, die dann als fixe Werte verwendet werden können. Listing 2.4 zeigt das geänderte Beispiel, bei dem die Werte für den Grundpreis und den Preis pro Zutat bei der Definition der Funktion übergeben werden: $baseprice = 3.95; $itemprice = 0.95; $pizzaprice = function($items) use ($baseprice, $itemprice) { return $baseprice + $items * $itemprice; 36

21 2.2 PHP-Version ; echo $pizzaprice(2); // output 5.85 echo $pizzaprice(6); // output Listing 2.4 Beispiel für eine Closure-Definition mit übergebenen Variablen Closures können aber nicht nur an Variablen übergeben werden, sondern auch als Parameter an andere Funktionen oder Klassenmethoden übergeben werden. In Listing 2.5 werden zuerst einige Pizza-Klassen definiert sowie eine Sammlung von Pizza- Objekten erstellt. Um nur die Salami-Pizzen auszufiltern, wird das Objekt $pizzalist an die array_filter()-methode übergeben. Zudem wird eine Closure als Callback- Funktion übergeben, die true zurückgibt, wenn der Wert eine Instanz von Pizza- Salami ist, und andernfalls false. Bei der Ausgabe werden nur die beiden Instanzen von PizzaSalami ausgegeben, und die anderen Pizzen werden ausgefiltert. class PizzaSalami { class PizzaHawaii { class PizzaMelon { $pizzalist = array( new PizzaSalami(), new PizzaHawaii(), new PizzaMelon(), new PizzaSalami() ); $pizzasalamionly = array_filter($pizzalist, function($val) { return ($val instanceof PizzaSalami); ); var_dump($pizzasalamionly); Listing 2.5 Beispiel für eine Closure-Definition als Parameter einer Funktion Somit können wir Closures auch für alle PHP-Funktionen verwenden, die eine Callback-Funktion als Parameter erwarten. Neben der verwendeten array_filter()- Funktion wären das z. B. auch call_user_func() oder usort(). Zend Framework 2-Nutzer verwenden Closures am ehesten bei der Definition von Factories für den Service-Manager (siehe Abschnitt 6.1,»Zend\ServiceManager«). 37

22 2 Neuerungen im Zend Framework Late Static Binding Die Methodik das Late Static Binding (»späte statische Bindung«) löst ein Problem bei erweiterten Klassen mit statischen Methoden und Eigenschaften, das in Listing 2.6 demonstriert wird. Die Klasse PizzaSalami definiert drei Methoden. Die Methode getnameself() greift über das Schlüsselwort self auf die Methode name() zu, während die Methode getnamestatic() das Schlüsselwort static verwendet. Die Klasse Pizza- SalamiPeperoni erweitert die Klasse PizzaSalami und überschreibt die Methode name(). Der Unterschied in der Funktionsweise tritt beim Aufruf der Methode Pizza- SalamiPeperoni::getNameStatic() am Ende des Listings auf. Dort wird nämlich der richtige Name der PizzaSalamiPeperoni ausgegeben. Dieses Verhalten war in PHP 5.2 nicht möglich und hat vielen Entwicklern einiges Kopfzerbrechen bereitet. class PizzaSalami { public static function getnameself() { return self::name(); public static function getnamestatic() { return static::name(); public static function name() { return 'Pizza mit Salami'; class PizzaSalamiPeperoni extends PizzaSalami { public static function name() { return 'Pizza mit Salami und Peperoni'; echo PizzaSalami::getNameSelf(); echo PizzaSalami::getNameStatic(); echo PizzaSalamiPeperoni::getNameSelf(); echo PizzaSalamiPeperoni::getNameStatic(); Listing 2.6 Beispiel für Late Static Binding Die Methodik des Late Static Binding wird in der Zend Framework 2-Bibliothek recht häufig verwendet. Als Nutzer des Zend Framework 2 kommen Sie damit nur in Berührung, wenn Sie es in ihren eigenen Klassen verwenden möchten. 38

23 2.3 Git und GitHub 2.3 Git und GitHub Eine technische Umstellung, die vorwiegend die Zend Framework 2-Entwickler betrifft, ist der Wechsel von Subversion (SVN) zu Git. Bei SVN und Git handelt es sich um Software für die Versionsverwaltung von Dateien. Das Zend Framework 1 hat von Beginn an auf SVN gesetzt. Für das Zend Framework 2 wurde frühzeitig entschieden, sich die Vorteile von Git für die Entwicklung des ZF2 zunutze zu machen. Doch wieso kam es dazu? 2 Das Zend-Framework-Team versprach sich von dem Wechsel eine verbesserte Produktivität, sodass Patches und Verbesserungsvorschläge der Framework-Anwender schneller eingepflegt werden können. Die Erfahrung der letzten Jahre in der Entwicklung vom Zend Framework 2 hat diese Hoffnung mehr als bestätigt. Mittlerweile ist auch der Issue Tracker, in dem Anwender Bugs und Feature Requests einstellen können, auch zu GitHub gewechselt. Somit liegen die wichtigsten Entwicklungstools nun auf einer Plattform und sind nicht über mehrere Tools verteilt. Git gibt es für alle wichtigen Betriebssysteme wie Linux, Windows und Mac OS X (http://git-scm.com/). Wenn Sie eine Anwendung mit dem Zend Framework erstellen möchten, müssen Sie für Ihre Versionsverwaltung nicht unbedingt auch zu Git wechseln. Es ist aber dennoch hilfreich, wenn auf Ihrem Entwicklungsrechner auch Git zur Verfügung steht, da dies die Installationen der SkeletonApplication (siehe Abschnitt 3.3,»SkeletonApplication installieren«) sowie von Fremdmodulen vereinfachen kann. Bei GitHub handelt es sich um einen webbasierten Hosting-Dienst für Softwareprojekte (https://github.com/). Dort kann jeder Entwickler eigene öffentliche Repositories für seine Softwareprojekte anlegen und pflegen oder bestehende kopieren, um sie an eigene Bedürfnisse anzupassen. Nicht nur das Zend Framework 2 wird in einem Repository auf GitHub gepflegt (siehe https://github.com/zendframework/). Auch viele ZF2-Fremdmodule sind dort zu finden; als Beispiel seien die Module der ZF-Commons-Initiative genannt (siehe https:// github.com/zf-commons). Wer sich mit Git und GitHub noch nicht auskennt, der braucht keine Angst zu haben, außer mit dem neuen Zend Framework 2 auch noch Stunden mit dem Lernen von Git und GitHub verbringen zu müssen. Mit folgenden Links gelingt der Einstieg auch Anfängern: Ein schön gemachtes, interaktives Tutorial für den allgemeinen Einstieg in Git und GitHub 39

24 2 Neuerungen im Zend Framework 2 Im Zend Framework 2-Wiki gibt es einen Git Guide, mit dem sich der Entwickler mit den wichtigsten Befehlen und Funktionen von Git und GitHub vertraut machen kann. Die Website bietet viele Tipps und Tricks auf Deutsch zum Lernen von Git auch für fortgeschrittene Themen. Im weiteren Verlauf des Buches werden wir bei der Installation der SkeletonApplication und bei Fremdmodulen sowie beim Einrichten eigener Repositories auf die grundlegenden Befehle und Funktionen von Git näher eingehen. 2.4 Neue Konzepte Im Zend Framework 2 wurde eine Vielzahl neuer Konzepte implementiert, die im Zend Framework 1 noch nicht oder nur teilweise umgesetzt waren. Diese Konzepte wurden nicht von den Zend Framework 2-Entwicklern erfunden, sondern werden schon länger in der Softwareentwicklung eingesetzt. Neu ist der Einsatz im ZF2. Mithilfe dieser Konzepte wurde die Entwicklung von Zend Framework 2-Anwendungen noch einmal um ein Vielfaches vereinfacht. Einsteiger und Umsteiger müssen diese Lernkurve jedoch erst einmal erklimmen. Sobald Sie aber die Konzepte verstanden und verinnerlicht haben, werden Sie diese in Zukunft nicht mehr missen wollen. Die Konzepte werden in diesem Abschnitt unabhängig vom Zend Framework 2 erläutert. Auf die konkreten Zend Framework 2-Implementierungen wird entsprechend verwiesen Verbesserte Modularität Im Zend Framework 1 gab es bereits Module. Doch diese waren eher Bürger zweiter Klasse (»second-class citizens«). Die Konfiguration der Module war mühsam, und ein Austausch von Modulen zwischen mehreren Anwendungen war aufgrund von Abhängigkeiten nicht ohne Weiteres möglich. Im Wesentlichen waren Module im ZF1 nur Container für Action-Controller, View-Scripts und für weitere Klassen des Moduls. Im Zend Framework 2 sind die Module nun Bürger erster Klasse. Das bedeutet, dass im Prinzip alles ein Modul ist. Selbst die Zend Framework 2-Bibliothek kann als Modul betrachtet werden. Somit braucht jede Zend Framework 2-Anwendung immer mindestens ein Anwendungsmodul, das aber vom Entwickler vollkommen frei konfiguriert werden kann. Dies bringt viele Freiheiten, bedeutet aber auch einen gewissen Aufwand bei der Einrichtung einer neuen Zend Framework 2-Anwendung. 40

Ralf Eggert. Zend Framework 2. Das Praxisbuch

Ralf Eggert. Zend Framework 2. Das Praxisbuch Ralf Eggert Zend Framework 2 Das Praxisbuch 7.4 Ein Anwendungsmodul entwickeln 7.3.7 Weitere Konfigurationen Der Modul-Manager ermöglicht auch die Konfiguration weiterer Elemente, für die entsprechende

Mehr

Mach dich frei! ZFS. Dependency Injection. Dependency Injection und Service Locators im Einsatz

Mach dich frei! ZFS. Dependency Injection. Dependency Injection und Service Locators im Einsatz ZFS und Service Locators im Einsatz Mach dich frei! Endlich ist es da. Nach fünf Jahren Entwicklung wurde die erste stabile Version von Zend Framework 2 veröffentlicht. Auch wenn viele der Komponenten

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

Migrationsanleitung von 2.0 auf 2.1

Migrationsanleitung von 2.0 auf 2.1 Die wichtigste Neuerung von 2.0 auf 2.1 aus Sicht der Anwendungs- Migration ist die Verwendung von Maven. Mit Maven holt sich die Anwendung alle notwendigen Bibliotheken in den jeweils angegebenen Versionen

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Erstellen sicherer ASP.NET- Anwendungen

Erstellen sicherer ASP.NET- Anwendungen Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten,

1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten, OUTDOOR webservices 1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten, Kostenstellen oder Kostenträgern... 2

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Serverumzug mit Win-CASA

Serverumzug mit Win-CASA Serverumzug mit Win-CASA Wenn Sie in Ihrem Netzwerk einen Umzug der Server-Version durchführen müssen, sollten Sie ein paar Punkte beachten, damit dies ohne Probleme abläuft. 1. Nachweis-Ordner In der

Mehr

Open Catalog Interface (OCI) Anbindung an VirtueMart

Open Catalog Interface (OCI) Anbindung an VirtueMart Ver. 2.5.1 Open Catalog Interface (OCI) Anbindung an VirtueMart Joomla 2.5 und Virtuemart 2.0.6 Ing. Karl Hirzberger www.hirzberger.at Inhaltsverzeichnis Begriffserklärung... 3 OCI für VirtueMart... 4

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs 08.04.2014 Inhaltsverzeichnis 1 REST Service 3 1.1 Application................................................ 3 1.2 Konfiguration...............................................

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

Inhaltsverzeichnis. Teil 1 Node.js... 1

Inhaltsverzeichnis. Teil 1 Node.js... 1 xiii Teil 1 Node.js... 1 1 Was ist Node.js? 3 1.1 Die Zeitalter des Webs................................... 3 1.1.1 1990 bis 2000: Das Web 1.0....................... 3 1.1.2 2000 bis 2010: Das Web 2.0.......................

Mehr

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe«

7 Plugins einbinden. 7.1 Beispiel»Die Taschenlampe« 201 PhoneGap bringt einen standardisierten Hardwarezugriff für Smartphones mit. Aber was passiert, wenn Sie mehr wollen: Wenn Sie eine Hardware per Bluetooth ansprechen wollen oder Features der jeweiligen

Mehr

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009 ZSDGMDZFGW Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden Ben Fuhrmannek #phpug-köln 2.10.2009 Über mich Informatiker Entwickler IT Security 2 TOC Aufbau ZF Problem 1 bis 10 3

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

IBM SPSS Data Access Pack Installationsanweisung für Windows

IBM SPSS Data Access Pack Installationsanweisung für Windows IBM SPSS Data Access Pack Installationsanweisung für Windows Inhaltsverzeichnis Kapitel 1. Übersicht.......... 1 Einführung............... 1 Bereitstellen einer Datenzugriffstechnologie.... 1 ODBC-Datenquellen...........

Mehr

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG Nach Abschluß der Softwareinstallation konfigurieren Sie den Listener (mit netca) und erzeugen eine Datenbank. Der einfachste Weg zur Erzeugung der Datenbank ist die Nutzung des Database Config Assistants

Mehr

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat 21.10.2008 mcgo@drupalist.de

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat 21.10.2008 mcgo@drupalist.de Multisite Setup mit Nutzung von Subversion Drupal Voice Chat 21.10.2008 mcgo@drupalist.de 1 Voraussetzungen Server (dediziert oder virtuell) Zugriff auf Terminal (z.b. per ssh) Webserver / Datenbankserver

Mehr

Geschäftsführer Martin Ritter Tel: 0351-44 00 44 22 info@webneo.de. Sitz der Gesellschaft Dresden. WEBneo GmbH Breitscheidstr.

Geschäftsführer Martin Ritter Tel: 0351-44 00 44 22 info@webneo.de. Sitz der Gesellschaft Dresden. WEBneo GmbH Breitscheidstr. 1 01237 1 Dokumentation DHL Versandtool Easy Log 1. Installation / Einrichtung 1.1 Installieren des Versandtools 1. Als erstes installieren Sie das Versandtool-Plugin in Ihrem Shop und aktivieren dieses.

Mehr

Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS)

Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS) Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS) Hochschule Ravensburg Weingarten Technik Wirtschaft Sozialwesen Name: Matrikel-Nr.: Studiengang: Fachrichtung: Anika

Mehr

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Virtuelle StruxureWare Data Center Expert-Appliance Der StruxureWare Data Center Expert-7.2-Server ist als virtuelle Appliance verfügbar, die auf

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Mapbender3 Workshop. Astrid Emde AGIT 2015 Salzburg

Mapbender3 Workshop. Astrid Emde AGIT 2015 Salzburg Mapbender3 Workshop Astrid Emde AGIT 2015 Salzburg Mapbender3 Astrid Emde WhereGroup AGIT 2015 Mapbender Developer Team Astrid Emde Mapbende Developer Team Mapbender PSC (Project Steering Commitee) Konzeption,

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle Vorlesung Programmieren Versionskontrolle Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Versionskontrollsysteme Wie organisiert man die

Mehr

TYPO3 Commerce Extension

TYPO3 Commerce Extension TYPO3 Commerce Extension Einsatzmöglichkeiten am Beispiel von www.hai-end.com Thanks2Developers Ingo Schmitt Volker Graubaum Thomas Hempel (team@typo3-commerce.org) 14.03.08 TYPO3 Commerce 2 Versionsstand

Mehr

Redmine, das Projekt Management Werkzeug

Redmine, das Projekt Management Werkzeug Redmine, das Projekt Management Werkzeug Web Site: www.soebes.de Blog: blog.soebes.de Email: info@soebes.de Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Einführung 2.Installation 3.Übersicht 4.Features 5.Informationsquellen

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Mantis. Ines Pichlbauer 1/13

Mantis. Ines Pichlbauer 1/13 Mantis Kategorie: Autor: Bugtracking Ines Pichlbauer 1/13 1. Überblick Tool: Mantis Hersteller: Kenzaburo Ito und Mantis Community Webseite: http://www.mantisbt.org Kategorie: Bugtracking und Feature Requests

Mehr

Installation und Dokumentation. juris Autologon 3.1

Installation und Dokumentation. juris Autologon 3.1 Installation und Dokumentation juris Autologon 3.1 Inhaltsverzeichnis: 1. Allgemeines 3 2. Installation Einzelplatz 3 3. Installation Netzwerk 3 3.1 Konfiguration Netzwerk 3 3.1.1 Die Autologon.ini 3 3.1.2

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

Mehr

Methoden zur Benutzerüberprüfung im ELMS 1.1

Methoden zur Benutzerüberprüfung im ELMS 1.1 Methoden zur Benutzerüberprüfung im ELMS 1.1 2012-12-21 Kivuto Solutions Inc [VERTRAULICH] INHALTSVERZEICHNIS ÜBERSICHT...1 ÜBERPRÜFUNGSMETHODEN...2 Integrierte Benutzerüberprüfung (IUV)...2 Shibboleth

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers Nils Bühner buehner@terrestris.de terrestris GmbH & Co KG Über uns Nils Bühner buehner@terrestris.de github.com/buehner Informatiker

Mehr

Ein kleines Tutorial zu 1 st News, dem New sletter- Skript von Stephan Altmann

Ein kleines Tutorial zu 1 st News, dem New sletter- Skript von Stephan Altmann Ein kleines Tutorial zu 1 st News, dem New sletter- Skript von Stephan Altmann 1 Einführung 2 Voraussetzungen 3 I nstallation allgemein 4 I nstallation als Plugin für AT Contenator 5 Funktionalitäten 6

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Installation/Update und Konfiguration des Renderservice (v1.7.0)

Installation/Update und Konfiguration des Renderservice (v1.7.0) Installation/Update und Konfiguration des Renderservice (v1.7.0) [edu- sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des Renderservice.] edu- sharing / metaventis GmbH Postfach

Mehr

Besser PHP programmieren

Besser PHP programmieren Carsten Möhrke Besser PHP programmieren Handbuch professioneller PHP-Techniken Galileo Press Vorwort zur dritten Auflage ц JjlJlli!fJÜIj SI!IS* 1.1 Lernen Sie Ihr Arbeitsgerät kennen 13 1.2 Der Editor,

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

Anleitung zur Aktualisierung

Anleitung zur Aktualisierung CONTREXX AKTUALISIERUNG 2010 COMVATION AG. Alle Rechte vorbehalten. Diese Dokumentation ist urheberrechtlich geschützt. Alle Rechte, auch die der Modifikation, der Übersetzung, des Nachdrucks und der Vervielfältigung,

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

Domain Control System. [ Dokumentation und Hilfe ] Stand 10. 05. 2005

Domain Control System. [ Dokumentation und Hilfe ] Stand 10. 05. 2005 Domain Control System [ Dokumentation und Hilfe ] Stand 10. 05. 2005 Seite 1 von 9 Einfü hrung Das 4eins Domain Control System (DCS) stellt Ihnen verschiedene Dienste und Funktionen für die Konfiguration

Mehr

Subversion. Einstieg in die. Versionskontrolle

Subversion. Einstieg in die. Versionskontrolle Versionskontrolle mit Subversion Einstieg in die Versionskontrolle Dipl.Ing.(FH) K. H. Marbaise Agenda Wozu Versionskontrolle? Was leistet Versionskontrolle? Historie zu Subversion Projekt Handling Installation

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Lernjournal Auftrag 1

Lernjournal Auftrag 1 Lernjournal Auftrag 1 Autor: Ramon Schenk Modul: M151 Datenbanken in Webauftritt einbinden Klasse: INF12.5H Datum: 29/01/15 XAMPP- Entwicklungsumgebung installieren Inhalt 1. Tätigkeiten... 2 2. Einrichten

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 git Datamining

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Refactoring Rails Applications. Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH

Refactoring Rails Applications. Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH Refactoring Rails Applications Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH Who am I? Jonathan Weiss Consultant bei Peritor GmbH in Berlin Specialized in Rails, Scaling, Deployment, and Code

Mehr

Sage Start Dateiablage Anleitung. Ab Version 2015 09.10.2014

Sage Start Dateiablage Anleitung. Ab Version 2015 09.10.2014 Sage Start Dateiablage Anleitung Ab Version 2015 09.10.2014 Inhaltsverzeichnis Inhaltsverzeichnis 2 1.0 Einleitung 3 1.1 Module mit Dateiablage 3 1.2 Allgemeine Informationen 3 1.2.1 Löschen von Datensätzen

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

DocuWare unter Windows 7

DocuWare unter Windows 7 DocuWare unter Windows 7 DocuWare läuft unter dem neuesten Microsoft-Betriebssystem Windows 7 problemlos. Es gibt jedoch einige Besonderheiten bei der Installation und Verwendung von DocuWare, die Sie

Mehr

Dezentrale Versionsverwaltung

Dezentrale Versionsverwaltung Dezentrale Versionsverwaltung mit GIT with that guy 14.08.2012 Lars Kumbier 1 Versionsverwaltung? 14.08.2012 Lars Kumbier 2 Versionsverwaltung? Speichern unterschiedlicher Entwicklungsschritte (oder Versionen)

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Installation von Wordpress

Installation von Wordpress Installation von Wordpress Wordpress (http://wordpress-deutschland.org/) ist ein sehr bekanntes Blog-Script, welches Ihnen ermöglicht, schnell und einfach ein Blog auf Ihrem Webspace zu installieren. Sie

Mehr

FilePanther Dokumentation. FilePanther. Benutzerhandbuch. Version 1.1 vom 14.02.2012 Marcel Scheitza

FilePanther Dokumentation. FilePanther. Benutzerhandbuch. Version 1.1 vom 14.02.2012 Marcel Scheitza FilePanther Dokumentation FilePanther Version 1.1 vom 14.02.2012 Marcel Scheitza Inhaltsverzeichnis 1 Verwaltung Ihrer Websites... 3 1.1 Verwaltung von Websites... 3 1.2 Verwaltung von Gruppen... 4 1.3

Mehr

Anbindung an UPS Online WorldShip

Anbindung an UPS Online WorldShip Anbindung an UPS Online WorldShip Vor der Installation der Erweiterung sind folgende Schritte nötig um den verwendeten XML Ex- und Import zu ermöglichen. Die hierfür benötigten Dateien finden Sie im Verzeichnis

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs September 04, 2015 Contents 1 Applikation 3 2 Rest Service 5 3 SOAP Service 7 4 Technologiestack 9 5 Deployment 11 6 Aufgabe 1: Google Webservice

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

Titel. System Center Configuration Manager 2012 R2 Anleitung zur Installation

Titel. System Center Configuration Manager 2012 R2 Anleitung zur Installation Autor: Thomas Hanrath Microsoft Certified Trainer Titel System Center Configuration Manager 2012 R2 Anleitung zur Installation Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle:

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004 Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen

Mehr

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press Valentin Haenel Julius Plenz Git Verteilte Versionsverwaltung für Code Dokumente 2. Auflage Open Source Press Inhaltsverzeichnis Vorwort 11 I Grundlagen 17 1 Einführung und erste Schritte 19 1.1 Grundbegriffe

Mehr

Microsoft Visual C# 2008

Microsoft Visual C# 2008 John Sharp 13 Microsoft Visual C# 2008 Schritt für Schritt 13 13 14 15 15 16 16 17 17 17 21 22 22 23 25 26 II 40 51 Press 53 54 54 55 55 56 56 57 58 63 63 64 Inhaltsverzeichnis Einleitung 13 Einführung

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Über den Autor 11. Einleitung 23

Über den Autor 11. Einleitung 23 Inhaltsverzeichnis Über den Autor 11 Einleitung 23 Über dieses Buch 23 Törichte Annahmen über den Leser 24 Symbole in diesem Buch 24 Über das Buch hinaus 25 Wie geht es weiter? 25 Teil I Die ersten Schritte

Mehr

Aufgabenstellung und Zielsetzung

Aufgabenstellung und Zielsetzung Aufgabenstellung und Zielsetzung In diesem Szenario werden Sie eine Bestellung, vorliegend im XML-Format, über einen Web-Client per HTTP zum XI- System senden. Dort wird die XML-Datei mittels eines HTTP-Interfaces

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr