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

Kapitel 2 Neuerungen im Zend Framework 2

Kapitel 2 Neuerungen im Zend Framework 2 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

Mehr

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

mitho -Framework für plenty PHP-Framework zur Anbindung an die plenty API

mitho -Framework für plenty PHP-Framework zur Anbindung an die plenty API PHP-Framework zur Anbindung an die plenty API Inhaltsverzeichnis 1 Kurzbeschreibung...3 2 Integration...4 3 Möglichkeiten...5 3.1 Artikel...5 3.2 Aufträge...5 3.3 Kunden...5 4 Interne Funktionsweise...7

Mehr

Das Zend Framework. Hält der Name, was er verspricht?

Das Zend Framework. Hält der Name, was er verspricht? Hält der Name, was er verspricht? Sprecher: Carsten Lucke Sofware-Ingenieur bei der sd&m AG, München Aktives Mitglied der sd&m Client- Community PEAR und PECL Entwickler Schreibt für Fachzeitschriften/-bücher

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

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

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

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

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

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

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

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

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung

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

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler Die Datenbank für Sammler COLLECTION Version 7 Installation und Neuerungen Märklin 00/H0 Jahresversion 2009 Stand: April 2009 Inhaltsverzeichnis Inhaltsverzeichnis... 2 VORWORT... 3 Hinweise für Anwender,

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

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

Drupal 8 manuell installieren

Drupal 8 manuell installieren Drupal 8 manuell installieren Version 1.0 Drupal 8 manuell installieren Um die aktuellste Version zu nutzen, muss Drupal manuell installiert werden. Dazu benötigst Du Zugriff auf Dein STRATO Hosting-Paket,

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

Inhaltsverzeichnis. 1 Einleitung... 15 1.1 Entstehungsgeschichte... 16 1.2 Über mich... 18 1.3 Zielgruppe... 19 1.4 Aufbau dieses Buches...

Inhaltsverzeichnis. 1 Einleitung... 15 1.1 Entstehungsgeschichte... 16 1.2 Über mich... 18 1.3 Zielgruppe... 19 1.4 Aufbau dieses Buches... 1 Einleitung........................................................ 15 1.1 Entstehungsgeschichte....................................... 16 1.2 Über mich..................................................

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

Mehr

So ziehen Sie Ihr Wordpress Blog zu STRATO um

So ziehen Sie Ihr Wordpress Blog zu STRATO um So ziehen Sie Ihr Wordpress Blog zu STRATO um Version 1.0 So ziehen Sie Ihr Wordpress Blog zu STRATO um Das Wordpress-Plugin Duplicator ermöglicht Ihnen, in wenigen Schritten Ihre Wordpress-Instanz umzuziehen.

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

Guideline. Integration von Google Analytics. in advertzoom

Guideline. Integration von Google Analytics. in advertzoom Guideline Integration von Google Analytics in advertzoom advertzoom GmbH advertzoom GmbH Stand November 2012 Seite [1] Inhalt 1 KPI aus Google Analytics übernehmen... 3 2 Grundlegende Funktionsweise...

Mehr

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007.

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007. ASICMS Das einfache php-framework Anleitung und Referenz Seite 1 Inhaltsverzeichnis Inhaltsverzeichnis... 1 Inhaltsverzeichnis... 2 Einführung... 3 Was ist ASICMS?... 3 Was ist ein Widget?... 3 Installation...

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops

HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops Auf den folgenden Seiten wird beschrieben, wie Sie den Online-Shop bedienen können! Für den Anfang ist es wichtig, Gruppen anzulegen.

Mehr

SimpleOOP Opensource OOP Plugin

SimpleOOP Opensource OOP Plugin SimpleOOP Opensource OOP Plugin Einführung SimpleOOP bringt PureBasic eine einfache OOP Unterstützung ohne komplizierten Syntax, mit besonderem Wert auf einen sauberen und simplen Code. SimpleOOP ist Opensource

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

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

Inhalt. Max Lini. ax. inie. Einleitung... VII

Inhalt. Max Lini. ax. inie. Einleitung... VII rst Inhalt Einleitung....................................................... VII 1 Schöne neue Welt: Objektorientierte Programmierung in PHP 5.............. 1 Klassen, Interfaces und Objekte...................................

Mehr

McAfee Security-as-a-Service -

McAfee Security-as-a-Service - Handbuch mit Lösungen zur Fehlerbehebung McAfee Security-as-a-Service - Zur Verwendung mit der epolicy Orchestrator 4.6.0-Software Dieses Handbuch bietet zusätzliche Informationen zur Installation und

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

Endkunden Dokumentation

Endkunden Dokumentation Endkunden Dokumentation X-Unitconf Windows Version - Version 1.1 - Seite 1 von 20 Inhaltsverzeichnis 1. Anmeldung an X-Unitconf... 3 2. Menü Allgemein... 4 2.1. Übersicht... 4 2.2. Passwort ändern... 5

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

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

Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator

Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator Handbuch: PlagScan PlugIn in Moodle 2.X und 3.X für den Administrator Stand: November 2015 Inhaltsverzeichnis Phase 1: Registrierung Schritt 1 von 2: Nutzungsart Organisation wählen Schritt 2 von 2: Organisation

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

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

Bedienungsanleitung POSTPAY Modul für Modified ecommerce Shopsoftware

Bedienungsanleitung POSTPAY Modul für Modified ecommerce Shopsoftware Bedienungsanleitung POSTPAY Modul für Modified ecommerce Shopsoftware DHL PAKET POSTPAY.de Stand: 10. Juli 2013; v1.11 Erstellt von POSTPAY.de Seite 1 von 15 DHL PAKET Inhaltsverzeichnis 1 Einführung...

Mehr

VR-Pay. Installation & Beschreibung. 1 VR-Pay. Stand: 16.07.2014, Modulversion: 2.1.0.x Bearbeiter: TD

VR-Pay. Installation & Beschreibung. 1 VR-Pay. Stand: 16.07.2014, Modulversion: 2.1.0.x Bearbeiter: TD 1 VR-Pay VR-Pay Installation & Beschreibung Stand: 16.07.2014, Modulversion: 2.1.0.x Bearbeiter: TD aplido GmbH, Geschäftsführer: Lutz Teubert, Markus Pohl, Chamer Strasse 4, 93497 Willmering Telefon:

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

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

Installationsanleitung für CAO-FAKTURA Connector.

Installationsanleitung für CAO-FAKTURA Connector. Installationsanleitung für CAO-FAKTURA Connector. Folgende Schritte müssen beachtet werden, damit CAO-Faktura mit Ihrem Shop kommunizieren und Daten austauschen kann. Server-Konfiguration Wenn Sie PHP

Mehr

Ersatzteile der Extraklasse Magento-Module der Shopwerft

Ersatzteile der Extraklasse Magento-Module der Shopwerft Ersatzteile der Extraklasse Magento-Module der Shopwerft MicroStudio - Fotolia.com Werden von Kunden oder Suchmaschinen Elemente des Shops aufgerufen, die nicht vorhanden sind, wird statt des gewünschten

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

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

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

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

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

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

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Tec Local 4.0 - Installationsanleitung: Lieferanten-Modus (Client) TecLocal 4.0. Installationsanleitung: Lieferanten-Modus (Client)

Tec Local 4.0 - Installationsanleitung: Lieferanten-Modus (Client) TecLocal 4.0. Installationsanleitung: Lieferanten-Modus (Client) Tec Local 4.0 - Installationsanleitung: Lieferanten-Modus (Client) TecLocal 4.0 Installationsanleitung: Lieferanten-Modus (Client) Version: 1.0 Autor: TecCom Solution Management (MBI) Datum: 09.12.2013

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

Informationen zur Installation des GIS-Zentrum 2

Informationen zur Installation des GIS-Zentrum 2 Informationen zur Installation des GIS-Zentrum 2 Inhaltsverzeichnis: Inhaltsverzeichnis:... 1 Allgemeine Hinweise... 2 Installationsvoraussetzungen... 2 Was passiert bei der Installation?... 2 Einzelplatzinstallation...

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

4D v11 SQL Release 6 (11.6) ADDENDUM

4D v11 SQL Release 6 (11.6) ADDENDUM ADDENDUM Willkommen zu Release 6 von 4D v11 SQL. Dieses Dokument beschreibt die neuen Funktionalitäten und Änderungen der Version. Erweiterte Verschlüsselungsmöglichkeiten Release 6 von 4D v11 SQL erweitert

Mehr

Wir benötigen: PHP >=5.x mit den Erweiterungen curl, dom, gd, hash, iconv, mycrypt, pcre, pdo, pdo_mysql und simplexml 1/2h Zeit

Wir benötigen: PHP >=5.x mit den Erweiterungen curl, dom, gd, hash, iconv, mycrypt, pcre, pdo, pdo_mysql und simplexml 1/2h Zeit Magento aufsetzen Wir benötigen: PHP >=5.x mit den Erweiterungen curl, dom, gd, hash, iconv, mycrypt, pcre, pdo, pdo_mysql und simplexml 1/2h Zeit Es gibt 2 Möglichkeiten Magento zu installieren: Wir gehen

Mehr

Mac Quick Guide für die Migration zum HIN Client

Mac Quick Guide für die Migration zum HIN Client Mac Quick Guide für die Migration zum HIN Client Anleitung zur Migration vom ASAS Client zum neuen HIN Client in Schritten:. Schritt 2. Schritt. Schritt Installation HIN Client Software Installiert die

Mehr

juliteccrm Dokumentation

juliteccrm Dokumentation Customer Relationship Management für kleine und mittelständische Unternehmen juliteccrm Dokumentation 2012, julitec GmbH Page 1 of 12 julitec GmbH Flößaustraße 22 a 90763 Fürth Telefon: +49 911 979070-0

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichtungsvarianten und Update auf v3.5 Inhalt Serveranpassung für die Lizenzverwaltung (v3.5)... 1 Updates der Clients auf die neue Version... 1 Einrichtungsvarianten...

Mehr

ODBC-Treiber 1. 1.1 Programmübersicht

ODBC-Treiber 1. 1.1 Programmübersicht 1 O D B C - Treiber ODBC-Treiber 1 1.1 Programmübersicht Nach einer ausgiebigen Testphase wurde kürzlich der neue ODBC-Treiber freigegeben. Dieser ist somit ab der 2000-er-Version lizenzpflichtig und kann

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Hochschule Aalen. OpenVPN. Anleitung zur Installation

Hochschule Aalen. OpenVPN. Anleitung zur Installation Hochschule Aalen OpenVPN Anleitung zur Installation Gold, Sabine / Holst, Matthias Januar 2016 Vorwort Bestimmte Dienste der Hochschule sind nicht über das Internet erreichbar, sondern können nur hausintern

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

09.01.2014. Dokumentation zur Einrichtung des Active-Directory für die Bank am Waldrand. Übung: Active-Directory Daniel Pasch FiSi_FQ_32_33_34

09.01.2014. Dokumentation zur Einrichtung des Active-Directory für die Bank am Waldrand. Übung: Active-Directory Daniel Pasch FiSi_FQ_32_33_34 09.01.2014 Dokumentation zur Einrichtung des Active-Directory für die Bank am Waldrand Übung: Active-Directory Daniel Pasch FiSi_FQ_32_33_34 Inhaltsverzeichnis 1 Der Auftrag... 3 2 Ist-Zustand... 3 3 Soll-Zustand...

Mehr

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2) Inhalt Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)... 1 1. Die integrierte Firewall von Windows XP... 2 2. Convision ActiveX und Internet Explorer 6... 3 3. Probleme

Mehr

Ersatzteile der Extraklasse Magento-Module der Shopwerft

Ersatzteile der Extraklasse Magento-Module der Shopwerft Ersatzteile der Extraklasse Magento-Module der Shopwerft MicroStudio - Fotolia.com Gerade bei gekauften Gutscheinen erwarten Kunden, dass sie diese Codes solange nutzen können, bis das Guthaben aufgebraucht

Mehr

Bedienungsanleitung das POSTPAY Modul für Gambio GX2

Bedienungsanleitung das POSTPAY Modul für Gambio GX2 Bedienungsanleitung das POSTPAY Modul für Gambio GX2 DHL PAKET POSTPAY.de Stand: 11. Juli 2013; v1.01 Erstellt von POSTPAY.de Seite 1 von 15 DHL PAKET Inhaltsverzeichnis 1 Einführung... 3 1.1 Technischer

Mehr

Annotations in PHP. Von Dokumentation bis Funktionalität. Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead

Annotations in PHP. Von Dokumentation bis Funktionalität. Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead Annotations in PHP Von Dokumentation bis Funktionalität Thorsten Hallwas, Software Engineer Florian Sonnenburg, Project Lead 1 Über uns Thorsten Hallwas Software Engineer ICANS GmbH Dipl.-Inf. (FH) Zend

Mehr

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6HKUJHHKUWH6RIW&OHDQ $QZHQGHU LQ XQVHUHP 6RIW&OHDQ 8SGDWHV 'RZQORDGEHUHLFK ILQGHQ 6LH ]ZHL $UWHQ YRQ 8SGDWHV 1DFKIROJHQGHUIDKUHQ6LHZHOFKHV8SGDWHI U6LHGDVULFKWLJHLVWXQGZLH6LHGDV8SGDWHDXI,KUHP$UEHLWVSODW]GXUFKI

Mehr

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration IBM SPSS Entity Analytics - Erweiterte Konfiguration Einführung Die vorgesehene Zielgruppe für dieses Handbuch sind Systemadministratoren, die IBM SPSS Entity Analytics (EA) für die Ausführung in einer

Mehr

Sun/Oracle Java Version: 1.6.0, neuer als 1.6.0_11

Sun/Oracle Java Version: 1.6.0, neuer als 1.6.0_11 Systemanforderungen für EnlightKS Online Certification Management Services ET2.13 Juni 2011 EnlightKS Candidate, EnlightKS TestStation Manager, EnlightKS Certification Manager Betriebssystem: Microsoft

Mehr

DATA BECKERs Praxishandbuch zu SUSE Linux 10

DATA BECKERs Praxishandbuch zu SUSE Linux 10 DATA BECKERs Praxishandbuch zu SUSE Linux 10 Daniel Koch DATA BECKER Hardware vor dem Kauf prüfen 4. So läuft jede Hardware Längst wird Linux von vielen Hardwareherstellern unterstützt. Ganz reibungslos

Mehr

Das Redaktionssystem UCMS. Beschreibung Technisches Profil

Das Redaktionssystem UCMS. Beschreibung Technisches Profil 1/6 CONTENTMANAGEMENTSYSTEM UCMS 03.12.08 Das Redaktionssystem UCMS Beschreibung Technisches Profil Das vorliegende Dokument gibt einen Überblick über das System und geht auf die Ankopplung oder Integration

Mehr

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 Express with Tools

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 Express with Tools Installation Wawi SQL in Verbindung mit Microsoft SQL Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte Funktionalität der SelectLine Applikation mit

Mehr

opsi-401-releasenotes-upgrade-manual

opsi-401-releasenotes-upgrade-manual opsi-401-releasenotes-upgrade-manual Stand: 01.05.2011 uib gmbh Bonifaziusplatz 1b 55118 Mainz Tel.:+49 6131 275610 www.uib.de info@uib.de i Inhaltsverzeichnis 1 Einführung 1 2 Neuerungen in opsi 4.0.1

Mehr

3 Installation von Exchange

3 Installation von Exchange 3 Installation von Exchange Server 2010 In diesem Kapitel wird nun der erste Exchange Server 2010 in eine neue Umgebung installiert. Ich werde hier erst einmal eine einfache Installation mit der grafischen

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

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

Template der gleichnamigen Action des geerbten Controllers, also AssetsController.

Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs 7 Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs Das Buch ist in sechs Kapitel unterteilt. Im ersten Kapitel Grundlagen findet

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

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

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

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Wenn Sie Benutzer von ProtectOn 2 sind und überlegen, auf ProtectOn Pro upzugraden, sollten Sie dieses Dokument lesen. Wir gehen davon aus, dass

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

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

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

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Version 1.0. Contrexx-Installation unter Windows 2003 und IIS 6. Das Content Management System für Ihren Erfolg.

Version 1.0. Contrexx-Installation unter Windows 2003 und IIS 6. Das Content Management System für Ihren Erfolg. Version 1.0 Contrexx-Installation unter Windows 2003 und IIS 6 Das Content Management System für Ihren Erfolg. Inhaltsverzeichnis 1. INSTALLATION VON MYSQL UND PHP UNTER WINDOWS 2003... 3 1.1 INSTALLATION

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

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr