Auch im Jahr 2023 gibt es immer noch unzählige PHP Frameworks, die mehr oder minder viele Nutzer hinter sich vereinen können. Neben den beiden aktuellen Platzhirschen Symfony und Laravel stehen mit Laminas (ehemals Zend Framework) auch weitere beliebte Frameworks in der zweiten Reihe. Doch wie vergleicht man so unterschiedliche Frameworks wirklich objektiv?
Testgetriebene Entwicklung mit Jasmine und Karma hat sich mittlerweile schon als defacto-Standard etabliert. Routinen ohne Abhängigkeiten lassen sich damit ohne Probleme testen. Die Schwierigkeiten beginnen jedoch schon, wenn es um die Auflösung von Abhängigkeiten geht. In diesem Vortrag werden verschiedene Strategien und Werkzeuge vorgestellt, mit denen Abhängigkeiten zu Objekten und Funktionen oder zum Server abgedeckt werden können. Aber nicht nur Abhängigkeiten stellen Schwierigkeiten bei der testgetriebenen Entwicklung dar, auch der Umgang mit Fixtures ist bei der testgetriebenen Entwicklung mit JavaScript relevant. Abgerundet wird dieser Vortrag mit einigen Best Practices für die testgetriebenen Entwicklung mit JavaScript.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Der Vortrag wurde beim Webmontag Leipzig im März 2010 gehalten.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
OSMC 2014: Plugin Entwicklung für Einsteiger | Alexander WirtNETWAYS
Das Icinga-Ökosystem beinhaltet bereits eine Vielzahl an Monitoring-Plug-ins. Trotzdem kommt jeder früher oder später an den Punkt, an dem bestehende Plug-ins nicht ausreichen und die Entwicklung eines eigenen Plug-ins ansteht.
In diesem Vortrag wird die Funktion von Plug-ins exemplarisch an Beispielen in Shell und Perl dargestellt.
Die folgenden Themen werden behandelt:
Die Plug-in-Schnittstelle von Icinga
Performance-Daten (PNP4Nagios)
Beispielimplementationen in Shell
Beispielimplementationen in Perl
Schreiben von Plug-ins gemäß Monitoring-Plug-ins-Konvention
Nagios::Plug-In Perl-Bibliothek
Kurze Beispiele in Ruby, Python und Windows Powershell
Testgetriebene Entwicklung mit Jasmine und Karma hat sich mittlerweile schon als defacto-Standard etabliert. Routinen ohne Abhängigkeiten lassen sich damit ohne Probleme testen. Die Schwierigkeiten beginnen jedoch schon, wenn es um die Auflösung von Abhängigkeiten geht. In diesem Vortrag werden verschiedene Strategien und Werkzeuge vorgestellt, mit denen Abhängigkeiten zu Objekten und Funktionen oder zum Server abgedeckt werden können. Aber nicht nur Abhängigkeiten stellen Schwierigkeiten bei der testgetriebenen Entwicklung dar, auch der Umgang mit Fixtures ist bei der testgetriebenen Entwicklung mit JavaScript relevant. Abgerundet wird dieser Vortrag mit einigen Best Practices für die testgetriebenen Entwicklung mit JavaScript.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Der Vortrag wurde beim Webmontag Leipzig im März 2010 gehalten.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
OSMC 2014: Plugin Entwicklung für Einsteiger | Alexander WirtNETWAYS
Das Icinga-Ökosystem beinhaltet bereits eine Vielzahl an Monitoring-Plug-ins. Trotzdem kommt jeder früher oder später an den Punkt, an dem bestehende Plug-ins nicht ausreichen und die Entwicklung eines eigenen Plug-ins ansteht.
In diesem Vortrag wird die Funktion von Plug-ins exemplarisch an Beispielen in Shell und Perl dargestellt.
Die folgenden Themen werden behandelt:
Die Plug-in-Schnittstelle von Icinga
Performance-Daten (PNP4Nagios)
Beispielimplementationen in Shell
Beispielimplementationen in Perl
Schreiben von Plug-ins gemäß Monitoring-Plug-ins-Konvention
Nagios::Plug-In Perl-Bibliothek
Kurze Beispiele in Ruby, Python und Windows Powershell
Production-ready Infrastruktur in 3 WochenAndré Goliath
Es gibt sie doch noch: Projekte die man auf der grünen Wiese starten darf - incl. Infrastruktur. Nur AWS als Cloud Provider ist gesetzt. In dieser Session gebe ich nach den ersten Wochen Einblicke und Lessons Learned, wie wir vom Zustand eines weißen Blatt Papiers auf ein Account- und Infrastruktur-Setup gekommen sind, mit dem wir zumindest mal sofort loslegen können ohne die üblichen „Abkürzungen“ bei Qualität und Featureumfang zu gehen. Ein wesentlicher Teil davon ist das Tooling von gruntwork.io, welches in diesem Kontext kurz vorgestellt wird. [Disclaimer: Wir sind auch nur normale Kunden mit einer gruntworks-Subscription ohne weitere Connections dorthin – diese Session wird also explizit keine gruntwork.io Werbeveranstaltung, auch wenn sich das inhaltlich nicht 100%ig vermeiden lässt]
Slides from my talk at JUG Karlsruhe 25-Septemer-2013. Code is available and described in this blogpost: http://camundabpm.blogspot.de/2013/09/camunda-bpm-apache-camel-integrating.html
Migrate your Sametime Server to LDAP Authentication (Admincamp 2013)Novakenstein
My "How to migrate Sametime from native Domino Authentication to LDAP" for fitting in the new Sametime Websphere world Session this year at the Admincamp 2013 in Gelsenkirchen.
Das Zend Framework hat eine bewegte Geschichte hinter sich. Unter dem Mantel der Linux Foundation hat es nun eine neue Heimat gefunden und wird im Laminas Projekt weiter geführt. Laminas setzt die Arbeit fort und bündelt die eigenständigen Komponenten, das MVC Framework, Expressive und Apigility in einem neuen gemeinsamen Projekt. In diesem Vortrag erfahren Sie alles über den Wechsel von Rogue Wave Software zur Linux Foundation. Wir schauen, was sich ändern wird, was wegfällt und was neu sein wird. Und wir wagen auch einen Ausblick in die Zukunft des Frameworks.
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
Skalierbarkeit und Hochverfügbarkeit sind zwei Themen, bei denen Wunschvorstellung und Realität oft weit auseinanderdriften. Nagios und Icinga mitsamt einer ganzen Phalanx an Erweiterungen werden in diesem Vortrag unter die Lupe genommen. Dabei sollen mit Fokus auf genannte Themen deren Möglichkeiten, aber auch deren Grenzen aufgezeigt werden. Vorgestellt werden Szenarien mit und ohne Cluster-Software so wie auch Stolpersteine beim Einsatz selbiger. Unter die Lupe genommen werden Verursacher von Engpässen, System- und I/O-Last. Gezeigt wird dabei, welche Auswirkungen diese in großen Szenarien haben - und wie sich deren Einfluss verringern lässt.
Der Vortrag will nicht zuletzt auch einen Blick über den Tellerrand hinaus wagen, ein Denkanstoß für die weitere Entwicklung sein und auch der Frage nach der Realisierbarkeit von Umgebungen mit Millionen von Servicechecks nachgehen.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringNETWAYS
Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das Thomas-Krenn-Wiki, Synology NAS Geräte und um die Weiterentwicklung von TKmon.
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsNETWAYS
Wir schreiben das Jahr 2016 und der PC-Markt schrumpft weiter. Immer mehr Menschen verwenden mobile Geräte und speichern die meisten ihrer Daten in der Cloud. Dies sind gute Entwicklungen für Server-Hersteller und Datacenter Admins, denn Marktforscher erwarten (damit verbunden) ein dreiprozentiges Wachstum für Investments in Data Center Systeme. Um mit dem Managementaufwand all dieser Cloud Systeme Schritt halten zu können, haben sich IT Profis auf der ganzen Welt zu der DevOps Bewegung zusammengeschlossen und die die Software-Seite der Serverautomation mit Tools wie Puppet, Ansible, Chef oder Salt erheblich vereinfacht. Das ist der Software-Teil... aber was ist mit der Hardware? Hmm..., IPMI (das sogenannte Intelligent Platform Management Interface) ist seit 1998 der Standard für das Out-of-Band Management der Server-Systeme. Es verwendet den UDP Port 623, das Dokument der Spezifikation umfasst mehr als 600 Seiten, es benötigt tiefergehendes Spezialwissen und enthält einige schwerwiegende Sicherheitsrisiken. Um diesen Einschränkungen entgegenzuwirken und das Hardware-System-Management in moderne Zeiten zu katapultieren, wurde von der DMTF (Distributed Management Task Force) der Redfish Management Standard entwickelt und veröffentlicht. Redfish verwendet ein RESTful Interface, funktioniert über HTTPS und stellt alle Daten mittels des JSON Formats unter Zuhilfenahme des ODATA Schemas dar.
Thomas beschreibt in diesem Vortrag die Ziele von Redfish und zeigt auf wie das Monitoring mit Redfish gelingt. Besuchen Sie diesen Vortrag und starten Sie anschließend mit der modernen Art Server-Hardware zu überwachen.
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
AndroMDA ist ein freiverfügbarer erweiterbarer Generatorbaukasten in Anlehnung an die Spezifikationen zur Model Driven Architecture (MDA) der Object Management Group (OMG). Aus UML-Modellen wird Code für beliebige Zielplattformen erzeugt. Anders als andere MDA-Toolkits bringt AndroMDA fertige Cartridges für aktuelle Entwicklungsplattformen wie Struts, JSF, Spring, Hibernate, EJB und jBPM mit. Weiterhin besteht zusätzlich die Möglichkeit zur Erstellung eigener Cartridges.
Nach einer kurzen Einführung in MDA gibt der Vortrag einen Überblick über AndroMDA und erläutert die Architektur und Grundprinzipien. Die Möglichkeiten des Toolkits werden anhand einer Web-Anwendung für Pizza-Bestellungen erklärt. Anschließend besteht die Möglichkeit zur Diskussion und zum Erfahrungsaustausch aus Projekten.
Meine Slides für den ganzjährigen Workshop zu Zend\Expressive auf der International PHP Conference 2017 Spring Edition. Die Slides bilden die Grundlagen für den Workshop.
Gearman ermöglicht paralleles abarbeiten von Aufgaben auf verteilten Systemen und Prozessen. Es bietet die Möglichkeit, Jobs zu parallelisieren, Last zu verteilen und Funktionen sprachübergreifend aufzurufen. In dieser Session werden neben den Grundlagen auch praxisbezogene Beispiele gezeigt.
Web-Automatisierung mit WWW::MechanizeThomas Fahle
Oft sind wichtige Informationen, Daten und Dateien nur über aufwendig manuell auszufüllende Formulare zu ereichen.
Der Vortrag zeigt anhand einfacher und praktischer Beispiele auf, wie sich diese Tätigkeiten mit WWW::Mechanize schnell und kostengünstig automatisieren lassen.
Zielgruppe des Vortrags sind Einsteiger in das Thema Webscraping.
Inhalt
* Was ist Webscraping?
* Warum WWW::Mechanize?
* Erste Schritte
* Links extrahieren
* Links folgen
* Formulare
* Download von Dateien
* Passwortgeschützte Seiten
* CPAN-Module für Standardaufgaben
Eine Präsentation, welche Michael Schmid anlässlich eines Treffen der Drupal UserGroup Switzerland gehalten hat.
Es geht darum, was Drupal 7 nach aktuellem Stand alles enthalten wird, was sich ändert, wo sich neue Möglichkeiten bieten, etc.
Vortrag bei der JUG CH in Luzern. den größten Teil des Votrages hat allerdings die Live-Demo ausgemacht in der ein Prozessbeispiel von der Pike auf neu entwickelt habe. Wer das verpasst hat am besten den Getting Started Guide durchackern: http://camunda.org/get-started/developing-process-applications.html
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
PHP Rewrite: Do the right thing (IPC Berlin 2024)Ralf Eggert
This talk addresses the challenges of modernizing a PHP application that has been under development since 2007 and was initially tightly coupled with its MVC framework. This tight integration led to various problems, including an increase in bugs and prolonged timeframes for implementing changes. We will explore the shift to Domain-Driven Design, Event Sourcing, and Test-Driven Development in the application's complete rewrite. The goal is to lessen the application's dependence on this archaic framework and to address these persistent issues, aligning it with current and future technology standards.
The session offers practical strategies for transforming legacy systems, deeply intertwined with their frameworks, into more adaptable, efficient, and resilient architectures, effectively solving long-standing performance and maintenance issues.
Weitere ähnliche Inhalte
Ähnlich wie Der ultimative PHP Framework Vergleich 2023 Edition
Production-ready Infrastruktur in 3 WochenAndré Goliath
Es gibt sie doch noch: Projekte die man auf der grünen Wiese starten darf - incl. Infrastruktur. Nur AWS als Cloud Provider ist gesetzt. In dieser Session gebe ich nach den ersten Wochen Einblicke und Lessons Learned, wie wir vom Zustand eines weißen Blatt Papiers auf ein Account- und Infrastruktur-Setup gekommen sind, mit dem wir zumindest mal sofort loslegen können ohne die üblichen „Abkürzungen“ bei Qualität und Featureumfang zu gehen. Ein wesentlicher Teil davon ist das Tooling von gruntwork.io, welches in diesem Kontext kurz vorgestellt wird. [Disclaimer: Wir sind auch nur normale Kunden mit einer gruntworks-Subscription ohne weitere Connections dorthin – diese Session wird also explizit keine gruntwork.io Werbeveranstaltung, auch wenn sich das inhaltlich nicht 100%ig vermeiden lässt]
Slides from my talk at JUG Karlsruhe 25-Septemer-2013. Code is available and described in this blogpost: http://camundabpm.blogspot.de/2013/09/camunda-bpm-apache-camel-integrating.html
Migrate your Sametime Server to LDAP Authentication (Admincamp 2013)Novakenstein
My "How to migrate Sametime from native Domino Authentication to LDAP" for fitting in the new Sametime Websphere world Session this year at the Admincamp 2013 in Gelsenkirchen.
Das Zend Framework hat eine bewegte Geschichte hinter sich. Unter dem Mantel der Linux Foundation hat es nun eine neue Heimat gefunden und wird im Laminas Projekt weiter geführt. Laminas setzt die Arbeit fort und bündelt die eigenständigen Komponenten, das MVC Framework, Expressive und Apigility in einem neuen gemeinsamen Projekt. In diesem Vortrag erfahren Sie alles über den Wechsel von Rogue Wave Software zur Linux Foundation. Wir schauen, was sich ändern wird, was wegfällt und was neu sein wird. Und wir wagen auch einen Ausblick in die Zukunft des Frameworks.
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
Skalierbarkeit und Hochverfügbarkeit sind zwei Themen, bei denen Wunschvorstellung und Realität oft weit auseinanderdriften. Nagios und Icinga mitsamt einer ganzen Phalanx an Erweiterungen werden in diesem Vortrag unter die Lupe genommen. Dabei sollen mit Fokus auf genannte Themen deren Möglichkeiten, aber auch deren Grenzen aufgezeigt werden. Vorgestellt werden Szenarien mit und ohne Cluster-Software so wie auch Stolpersteine beim Einsatz selbiger. Unter die Lupe genommen werden Verursacher von Engpässen, System- und I/O-Last. Gezeigt wird dabei, welche Auswirkungen diese in großen Szenarien haben - und wie sich deren Einfluss verringern lässt.
Der Vortrag will nicht zuletzt auch einen Blick über den Tellerrand hinaus wagen, ein Denkanstoß für die weitere Entwicklung sein und auch der Frage nach der Realisierbarkeit von Umgebungen mit Millionen von Servicechecks nachgehen.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringNETWAYS
Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das Thomas-Krenn-Wiki, Synology NAS Geräte und um die Weiterentwicklung von TKmon.
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsNETWAYS
Wir schreiben das Jahr 2016 und der PC-Markt schrumpft weiter. Immer mehr Menschen verwenden mobile Geräte und speichern die meisten ihrer Daten in der Cloud. Dies sind gute Entwicklungen für Server-Hersteller und Datacenter Admins, denn Marktforscher erwarten (damit verbunden) ein dreiprozentiges Wachstum für Investments in Data Center Systeme. Um mit dem Managementaufwand all dieser Cloud Systeme Schritt halten zu können, haben sich IT Profis auf der ganzen Welt zu der DevOps Bewegung zusammengeschlossen und die die Software-Seite der Serverautomation mit Tools wie Puppet, Ansible, Chef oder Salt erheblich vereinfacht. Das ist der Software-Teil... aber was ist mit der Hardware? Hmm..., IPMI (das sogenannte Intelligent Platform Management Interface) ist seit 1998 der Standard für das Out-of-Band Management der Server-Systeme. Es verwendet den UDP Port 623, das Dokument der Spezifikation umfasst mehr als 600 Seiten, es benötigt tiefergehendes Spezialwissen und enthält einige schwerwiegende Sicherheitsrisiken. Um diesen Einschränkungen entgegenzuwirken und das Hardware-System-Management in moderne Zeiten zu katapultieren, wurde von der DMTF (Distributed Management Task Force) der Redfish Management Standard entwickelt und veröffentlicht. Redfish verwendet ein RESTful Interface, funktioniert über HTTPS und stellt alle Daten mittels des JSON Formats unter Zuhilfenahme des ODATA Schemas dar.
Thomas beschreibt in diesem Vortrag die Ziele von Redfish und zeigt auf wie das Monitoring mit Redfish gelingt. Besuchen Sie diesen Vortrag und starten Sie anschließend mit der modernen Art Server-Hardware zu überwachen.
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
AndroMDA ist ein freiverfügbarer erweiterbarer Generatorbaukasten in Anlehnung an die Spezifikationen zur Model Driven Architecture (MDA) der Object Management Group (OMG). Aus UML-Modellen wird Code für beliebige Zielplattformen erzeugt. Anders als andere MDA-Toolkits bringt AndroMDA fertige Cartridges für aktuelle Entwicklungsplattformen wie Struts, JSF, Spring, Hibernate, EJB und jBPM mit. Weiterhin besteht zusätzlich die Möglichkeit zur Erstellung eigener Cartridges.
Nach einer kurzen Einführung in MDA gibt der Vortrag einen Überblick über AndroMDA und erläutert die Architektur und Grundprinzipien. Die Möglichkeiten des Toolkits werden anhand einer Web-Anwendung für Pizza-Bestellungen erklärt. Anschließend besteht die Möglichkeit zur Diskussion und zum Erfahrungsaustausch aus Projekten.
Meine Slides für den ganzjährigen Workshop zu Zend\Expressive auf der International PHP Conference 2017 Spring Edition. Die Slides bilden die Grundlagen für den Workshop.
Gearman ermöglicht paralleles abarbeiten von Aufgaben auf verteilten Systemen und Prozessen. Es bietet die Möglichkeit, Jobs zu parallelisieren, Last zu verteilen und Funktionen sprachübergreifend aufzurufen. In dieser Session werden neben den Grundlagen auch praxisbezogene Beispiele gezeigt.
Web-Automatisierung mit WWW::MechanizeThomas Fahle
Oft sind wichtige Informationen, Daten und Dateien nur über aufwendig manuell auszufüllende Formulare zu ereichen.
Der Vortrag zeigt anhand einfacher und praktischer Beispiele auf, wie sich diese Tätigkeiten mit WWW::Mechanize schnell und kostengünstig automatisieren lassen.
Zielgruppe des Vortrags sind Einsteiger in das Thema Webscraping.
Inhalt
* Was ist Webscraping?
* Warum WWW::Mechanize?
* Erste Schritte
* Links extrahieren
* Links folgen
* Formulare
* Download von Dateien
* Passwortgeschützte Seiten
* CPAN-Module für Standardaufgaben
Eine Präsentation, welche Michael Schmid anlässlich eines Treffen der Drupal UserGroup Switzerland gehalten hat.
Es geht darum, was Drupal 7 nach aktuellem Stand alles enthalten wird, was sich ändert, wo sich neue Möglichkeiten bieten, etc.
Vortrag bei der JUG CH in Luzern. den größten Teil des Votrages hat allerdings die Live-Demo ausgemacht in der ein Prozessbeispiel von der Pike auf neu entwickelt habe. Wer das verpasst hat am besten den Getting Started Guide durchackern: http://camunda.org/get-started/developing-process-applications.html
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
PHP Rewrite: Do the right thing (IPC Berlin 2024)Ralf Eggert
This talk addresses the challenges of modernizing a PHP application that has been under development since 2007 and was initially tightly coupled with its MVC framework. This tight integration led to various problems, including an increase in bugs and prolonged timeframes for implementing changes. We will explore the shift to Domain-Driven Design, Event Sourcing, and Test-Driven Development in the application's complete rewrite. The goal is to lessen the application's dependence on this archaic framework and to address these persistent issues, aligning it with current and future technology standards.
The session offers practical strategies for transforming legacy systems, deeply intertwined with their frameworks, into more adaptable, efficient, and resilient architectures, effectively solving long-standing performance and maintenance issues.
ChatGPT: unser täglich' Bot gib uns heuteRalf Eggert
ChatGPT ist derzeit in aller Munde. Doch was ist eigentlich dran an dieser neuen Wundertechnologie? Wird ChatGPT uns Entwickler bald überflüssig machen? Können IT Leiter in naher Zukunft mit einem komplexen Prompt eine ganze Legacy Anwendung in Nullkommanichts in eine moderne Applikation verwandeln? Oder wenigstens ein Projekt von Symfony 4 auf Laminas umstellen?
Wir schauen in dieser Session einmal, wie wir Entwickler die »Wunderwaffe« ChatGPT in unsere tägliche Arbeit integrieren können. Wir betrachten, wie uns die KI bei konkreten Problemen helfen kann, und wir schauen auch, ob uns ChatGPT auch bei der Projektplanung unterstützen kann. Wir nutzen ChatGPT in so unterschiedlichen Rollen wie Coach, Tester, Systemarchitekt oder Product Owner. Dabei orientieren wir uns auch anhand eines kleinen PHP Projektes, das von der Planung bis zur Umsetzung von ChatGPT begleitet wurde.
Die Teilnehmer bekommen bei dieser Session Tipps und Tricks an die Hand, wie sie heute schon ChatGPT in ihrer täglichen Arbeit einsetzen können, um hier und da ein wenig schneller und produktiver werden zu können. Wir gehen aber auch auf die Gefahren ein und kommen zur Erkenntnis, dass nicht alles Gold ist, was da glänzt, und dass wir keiner einzigen Antwort blind vertrauen dürfen.
PHP Module als Rundum-Sorglos-Pakete entwickelnRalf Eggert
Wer viele PHP-Projekte entwickelt, kennt die Situation sicherlich: Es gibt verschiedene Features, die in fast jedem Projekt benötigt werden. Sei es das simple Kontaktformular, der Versand von E-Mails, der Einbau eines Cookie-Banners oder die Ausgabe eines Menüs. Beim Start eines neuen Projekts verfällt der Entwickler gerne in das typische Muster, sich schnell alles zusammenzukopieren und so lange anzupassen, bis es passt. Bei zwei oder drei zu betreuenden Projekten ist das noch überschaubar. Aber bei 20, 30 oder gar 100? Wie kann ich den Spamschutz des Kontaktformulars in Dutzenden Projekten verbessern, ohne jedes Projekt einzeln individuell anpassen zu müssen? Die Lösung liegt auf der Hand: wir bauen uns ein Modul, das simpel mit Composer in jedes Projekt gebracht werden kann. Mit Git können wir Releases taggen und somit unterschiedliche Versionen des Moduls bereitstellen. Automatisierte Tests helfen uns beim Sicherstellen der Funktionalitäten. Tolle Sache! Doch manchmal möchten wir Formulare auch mal im Browser anschauen und die HTML-Ausgabe anpassen. Dabei helfen Module, die eine kleine Mini-Anwendung mit sich bringen, die im Browser gestartet werden kann. Wie wir so etwas umsetzen können, zeigt dieser Vortrag.
A new Alexa skill is quickly built and certified at Amazon. Depending on its complexity, this process can be completed in a few weeks. The same applies to Google Actions. But some people put their hands in their laps afterwards and wonder why their new, innovative voice application does not go through the roof. History repeats itself: 25 years ago, with the advent of the World Wide Web, many HTML projects were published whose content was not updated for a long time. Today nobody would launch a website or a smartphone app and then leave it to itself. Why should it be different with an Alexa skill, a Google Action or a Bixby capsule? In this session you will learn about strategies and solutions to make your voice application up-to-date, interactive and interesting. Use the existing tools of the providers and make sure that your content can easily be kept up-to-date. We will also look at the insights and modernization measures from the three-year operation of one of the first German-speaking Alexa Skills.
Kurzvortrag über intelligente persönliche Assistenten und ihre Bedeutung für den Tourismus. Was können die Sprachassistenten und was (noch) nicht? Wie zuverlässig und hilfreich ist die Kommunikation in menschlicher Sprache mit der disruptiven Software?
We had a nice little voice meetup in Hamburg on 15th of January 2020:
This time we will have the following agenda:
- Short presentation Welcome Bixby (about 20 Minutes)
- Discussion: What was your Voice Highlight 2019? What do you wish for 2020?
- plus a little surprise (more will not be revealed yet)
Alexa, Google Assistant, Siri and even Cortana are on everyone’s lips. But what about Bixby? First introduced in 2017 in Korea, the US and China, other languages like French, Spanish, German or
Italian were just launched in the beginning of 2019.
This talk will give a short introduction into the Bixby virtual assistant and how the development of Bixby capsules differs from building Alexa Skills or Google Actions. You will learn about the basic concepts, the tools you need and the Bixby Marketplace.
A short presentation about Alexa Skill maintenance from the Alexa Dev Day in Berlin on 26th of November 2019. Discusses metrics, intent history, reviews and new features.
Alexa Skills und PHP? Passt das zusammen?Ralf Eggert
Zugegeben, die Entwicklung digitaler Sprachanwendungen für Amazons Alexa wird eindeutig von Node.js dominiert. Dies ist der Quasi-Standard, der von Amazon angeboten und stetig ausgebaut wird. Die Entwicklung von Alexa Skills mit PHP fristet nur ein Nischendasein. Dennoch kann es sehr viel Sinn machen, auch bei der Entwicklung digitaler Sprachanwendungen auf PHP zu setzen und vorhandenes Know-how im Team zu nutzen. Denn zur Entwicklung eines professionellen Alexa Skills gehört mehr als nur die direkte Interaktion mit Alexa und dem Alexa Voice Service. Erfahren Sie in diesem Vortrag alles Wissenswerte zur PHP-Entwicklung für Alexa und welche Vorteile es dabei bietet.
Mit dem Jovo Framework ist es einfach möglich, plattformübergreifende Sprachanwendungen für Amazon Alexa und den Google Assistant zu entwickeln. Jovo basiert auf Node.js und hilft durch ein gemeinsames Sprachmodell bei der Entwicklung von Alexa Skills und Google Actions. In diesem Vortrag steigen wir nach einer kurzen Einführung direkt in die Welt der Sprachassistenten ein und schauen uns die grundlegende Vorgehensweise für die Entwicklung einer Sprachanwendung für Alexa und den Google Assistant an. Wir lernen die wichtigsten Features des Jovo Frameworks kennen und durchlaufen die grundlegenden Implementierungsphasen von der Konfiguration über den Code bis hin zum Deployment.
Das Zend Framework hat eine bewegte Geschichte hinter sich. Unter dem Mantel der Linux Foundation hat es nun eine neue Heimat gefunden und wird im Laminas Projekt weiter geführt. Laminas setzt die Arbeit fort und bündelt die eigenständigen Komponenten, das MVC Framework, Expressive und Apigility in einem neuen gemeinsamen Projekt. In diesem Vortrag erfahren Sie alles über den Wechsel von RogueWave Software zur Linux Foundation. Wir schauen, was sich ändern wird, was wegfällt und was neu sein wird. Und wir wagen auch einen Blick in die Zukunft des Frameworks.
Die digitalen Sprachassistenten wie Amazons Alexa und der Google Assistant sind in aller Munde. Nachdem sie schon die häuslichen vier Wände viele Privatnutzer erobert haben, schicken sie sich an, auch in der Hotellerie Fuß zu fassen. Dieser Vortrag führt in das Thema Voice allgemein ein und diskutiert auch die Herausforderungen für die Hotellerie. Zudem erfahren Sie, wie Sie sich mit TINA für Hotels (dem ersten Alexa-Skill-as-a-Service für die Touristik und Hotellerie) diesen Herausforderungen schon heute stellen können.
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...Ralf Eggert
Seit dem Aufkommen der digitalen Sprachassistenten, Amazons Alexa oder der Google Assistant, herrscht Goldgräberstimmung. Die nächste Revolution verspricht gute Geschäfte: Innovative Sprachanwendungen, Künstliche Intelligenz, Voice Commerce, Wettrüsten der Technologiegiganten. In der Realität schwemmten zu Beginn jedoch Fakten-Skills, Quizanwendungen und Geräuschgeneratoren den Skill Store. Dazu kamen Adaptionen bestehender Webanwendungen oder Smartphone-Apps, welche oft nur enttäuschte und ratloses Gesichter hinter sich ließen. Die Suche nach der Killerapplikation für digitale Sprachanwendungen begann. Zwei Jahre nach dem offiziellen Deutschlandstart von Alexa und 18 Monate nach dem Start von Google Home in Deutschland werfen wir einen Blick auf fünf verschiedene Geschäftsmodelle für digitale Sprachassistenten, die wirklich funktionieren. Erfahren Sie, wie Entwickler, Agenturen oder Unternehmen an der Voice-Revolution teilnehmen können, ohne blind der Gier nach dem neuen Gold hinterherhecheln zu müssen.
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenRalf Eggert
Viele Entwickler, die mit der Entwicklung eines Alexa-Skills beginnen, machen sich in den seltensten Fällen vorab tiefer gehende Gedanken über ihre Anwendungsstruktur. Quick-Start-Anwendungen und Vorlagen konzentrieren sich in der Regel eher auf die Vermittlung von Featurewissen und weniger darum, eine nachhaltige Anwendungsstruktur einzuführen. Da besteht der eigentliche Code der Sprachanwendungen auch schon mal aus einer einzigen Datei, die durch Konfigurations- oder Sprachdateien angereichert wird.
Für ganz einfache Sprachanwendungen ist das zumeist auch ausreichend. Doch wie sieht es bei komplexeren Anwendungen aus? Wie reagieren wir auf zusätzliche Funktionen und Intents? Wie erhalten wir den Kontext im Rahmen eines Dialogs und wie können wir Daten sinnvoll persistieren? Und was passiert, wenn unsere Sprachanwendung nicht nur für Amazons Alexa, sondern auch für den Google Assistant umgesetzt werden soll?
In dieser Session erfahren Sie, welche Maßnahmen Sie ergreifen können, um den wachsenden Anforderungen an erfolgreiche Sprachanwendungen gerecht zu werden.
Künstliche Intelligenz – Traum und WirklichkeitRalf Eggert
Das Thema Künstliche Intelligenz (KI) ist derzeit in aller Munde. Überall hören wir von intelligenten Chatbots und digitalen Sprachassistenten wie Amazons Alexa, Siri oder Google Home. Entwickler und Unternehmen fügen Ihrer Software eine künstliche Intelligenz hinzu, um ihre Software zu verbessern. Einhergehend werden auch Ängste geschürt vor den Maschinen, die in Form eines realen Skynets bald die Weltherrschaft übernehmen, um die Menschheit zu knechten.
In diesem Vortrag schauen wir uns am Beispiel von digitalen Sprachassistenten wie Amazons Alexa und einiger Chatbots an, wie weit es aktuell mit der künstlichen Intelligenz im Massenmarkt eigentlich her ist. Und wir betrachten auch, inwieweit das Internet der Sprache eine Revolution oder doch eher eine Evolution darstellt.
Multi-Modal Voice Development with Amazon AlexaRalf Eggert
Building a voice application for Amazon Alexa requires the Voice First approach. But with the growing device family with displays like the Echo Spot, the Echo Show, or the Fire TV, you are able to support your voice experience with photos, illustrations, or videos. This session concentrates on how to build a Multi-Modal application with Amazon Alexa. We will have a closer look on the best-practices as well as some tools and techniques to help you to create richer voice applications.
Früher war alles besser ™. Damals im alten Jahrtausend wählten wir für eine Webanwendung eine der gängigen Programmiersprachen wie Java, PHP oder Perl aus und legten los. Wir mussten uns kaum Gedanken um Frameworks, Programmiersprachen oder geeignete Architekturen machen. CSS oder JavaScript hatten kaum nennenswerte Bedeutung und HTML war noch echt knuffig. Damals flossen Milch und Honig in Strömen. Doch seitdem ist es kompliziert geworden. Gefühlt jeden Monat poppen neue Technologien in Form von Programmiersprachen, Frameworks oder Architekturansätzen hoch, die um unsere Aufmerksamkeit und Gunst buhlen und uns überzeugen wollen, dass nun der Zeitpunkt gekommen sei, um endlich alte Zöpfe abzuschneiden. Was heute modern und pfiffig ist, wird morgen schon als Legacy gebrandmarkt. In diesem Talk werfen wir einen Blick auf die Herausforderungen, um heutzutage für unsere Webanwendungen die richtigen Entscheidungen bei der Auswahl der geeignetsten Technologien für unser Projekt zu treffen und dieses fit für die Zukunft zu machen. Nach einer wahren Geschichte.
Zend/Expressive 3 – The Next GenerationRalf Eggert
After the PSR-15 was finally published in the spring of 2018, the micro framework Zend/Expressive has archieved the next stage with its 3.0 release. Zend/Expressive suits all kinds of applications perfectly: from classic full-stack web applications via REST services through to special applications like PHP-based Alexa Skills. The third version of the micro framework based on Middleware can be your means of choice. This session introduces all the innovations in Zend/Expressive 3, presents different application possibilities, and demonstrates how to migrate from older Zend/Expressive versions.
9. 9 / 79
Probleme bei Framework Vergleichen
»Optimierte«
Performance
Vergleiche
Veraltet
Äpfel mit Birnen
vergleichen
Abhaken einer
Feature Matrix
Nicht
objektiv
32. 32 / 79
Pasquale
Was sagt der Junior Entwickler?
Bietet mir
am wenigsten
Unterstützung.
Dokumentation
wirkt etwas
unübersichtlich.
Skeleton Application
ist nicht sehr intuitiv.
Keine PhpStorm
Extension für
PHP Templates.
33. 33 / 79
Was sagt der Senior Entwickler?
Ralf
Sehr flexibel bei
Routing, DI, Templates
und Datenbank
Dokumentation hat
sich etwas gebessert.
Middleware Ansatz
zukunftsfähiger als
MVC Ansatz.
Framework enthält
weniger Magie als
Laminas MVC.
Hohe Lernkurve.
Alles muss man
selber machen.
34. 34 / 79
Routing
FastRoute LaminasRouter
DI
Pimple
LaminasServiceManager
Symfony DI
Container
PHP DI
Templating
Plates
LaminasView
Twig
Datenbank
Doctrine
LaminasDb
Individueller
Model Layer
Eloquent
Flexibilität
35. 35 / 79
Entities
Hydratoren
Input Filter
Formulare
»Alles muss man selber machen«
Repositories
Storages
Nur rudimentäre
Code Generierung
36. 36 / 79
Pasquale
Was sagt der Junior Entwickler?
Laravel macht es
deutlich besser als
Laminas Mezzio.
Die Dokumentation
ist wesentlich besser.
Laracasts! (tw. €)
Projekt wirkt
strukturierter, hat aber
einige Dateien mit
unklarem Nutzen.
Blade kommt
Templating mit PHP
sehr nahe. Es gibt eine
PhpStorm Extension!
37. 37 / 79
Was sagt der Senior Entwickler?
Ralf
Neue Projekte lassen sich
sehr schnell aufsetzen.
Projektstruktur für
mich nicht komplett
nachvollziehbar.
Artisan ist ein sehr
mächtiges Tool, das kaum
Wünsche offen lässt!
Laravel ohne Blade und
Eloquent ist möglich,
aber wohl sinnlos.
Sehr Einsteiger
freundlich.
38. 38 / 79
Pasquale
Was sagt der Junior Entwickler?
Symfony ist für
mich der klare Sieger.
Dokumentation
sehr gut geschrieben.
Symfonycasts! (tw. €)
Projekt gut strukturiert
und bietet notwendige
Beispiel-Dateien.
Twig ist sehr leicht zu
erlernen und erweiterbar.
PhpStorm Extension!
Sehr überzeugend ist die
Symfony CLI sowie die
Symfony Console im Projekt.
39. 39 / 79
Was sagt der Senior Entwickler?
Ralf
Sehr gute Unterstützung
für die Entwickler
Community!
Symfony CLI und
Symfony Console sind sehr
mächtige Tools!
Symfony ohne Twig und
Doctrine ist möglich, aber
wohl sinnlos.
Für PHP Einsteiger
und Profis.
Neue Projekte lassen sich
sehr schnell aufsetzen.
64. 64 / 79
Briefing
Du bist Berater für PHP
Frameworks. Du kennst nur die
PHP Frameworks Symfony,
Laravel und Laminas.
Ich werde dir nun einige Fragen
stellen, die du jeweils in
maximal 60 Wörtern oder 400
Zeichen beantworten musst.
65. 65 / 79
Frage 1
Welches Framework würdest du
für eine kleine und einfache
Kampagnen Website
verwenden, die maximal 3
Monate online sein wird?
66. 66 / 79
Frage 1
Welches Framework würdest du
für eine kleine und einfache
Kampagnen Website
verwenden, die maximal 3
Monate online sein wird?
Ich würde Laravel empfehlen.
Es ist benutzerfreundlich, hat
eine kurze Lernkurve und bietet
gute Unterstützung für schnelle
Entwicklung und Bereitstellung.
Die breite Palette von
Hilfsbibliotheken und -tools
macht es ideal für kleine
Projekte mit kurzer
Lebensdauer.
67. 67 / 79
Frage 2
Welches Framework würdest du
für eine komplexere Anwendung
empfehlen mit großem
Funktionsumfang, die
voraussichtlich 2 bis 3 Jahre
online sein wird?
68. 68 / 79
Frage 2
Welches Framework würdest du
für eine komplexere Anwendung
empfehlen mit großem
Funktionsumfang, die
voraussichtlich 2 bis 3 Jahre
online sein wird?
Für eine komplexere
Anwendung mit einem großen
Funktionsumfang würde ich
Symfony empfehlen.
Es ist robust, skalierbar und
verfügt über eine Vielzahl von
Bundles, die die Erweiterung der
Funktionalität erleichtern.
Darüber hinaus hat es eine
starke Community und einen
langfristigen Support.
69. 69 / 79
Frage 3
Welches Framework würdest du
für eine Enterprise Anwendung
empfehlen mit hoch komplexen
Funktionsumfang, das über eine
Lebensdauer von mindestens 10
Jahren ausgerichtet ist?
70. 70 / 79
Frage 3
Welches Framework würdest du
für eine Enterprise Anwendung
empfehlen mit hoch komplexen
Funktionsumfang, das über eine
Lebensdauer von mindestens 10
Jahren ausgerichtet ist?
Für eine langlebige, hochkomplexe
Enterprise-Anwendung würde ich
das Laminas Framework empfehlen.
Es ist das Nachfolgeprojekt von
Zend Framework, das für seine
Stabilität und Skalierbarkeit
bekannt ist.
Laminas ist modular aufgebaut, was
eine hohe Anpassbarkeit
ermöglicht. Zudem hat es
umfangreiche Enterprise-Features
und guten langfristigen Support.