thePHP.cc Logo English Kontakt
Artikel O Brother, where art thou?

O Brother, where art thou?

Warum bringen einzelne Veränderungen nicht den gewünschten Erfolg?

Artikel Domain-Driven Design mit PHP

Domain-Driven Design mit PHP

Mehr Fachlichkeit statt Technologie-Details: Diese Entwurfsmuster aus dem Domain-Driven Design sollten Sie kennen und anwenden können.

Artikel PHP 7: Security-Support endet. Was nun?

PHP 7: Security-Support endet. Was nun?

Der Security-Support für PHP 7 ist beendet. Was bedeutet das für Sie?

Artikel Wie ich heute Testinventar verwaltete

Wie ich heute Testinventar verwaltete

Eine Best Practice im Wandel der Zeit: eine Reflektion über alte und neue Wege, um die Testumgebung für einen Unit-Test zu erzeugen.

Artikel Wie heißen Deine Konstruktoren?

Wie heißen Deine Konstruktoren?

PHP unterstützt kein Überladen von Konstruktoren. Named Constructors schaffen Abhilfe. Doch wie benennen wir diese am besten?

Artikel A Friday for Green IT

A Friday for Green IT

Was trägt die IT-Branche zum Klimawandel bei? Eine Panel-Diskussion auf unserer Konferenz lieferte zu dieser Frage interessante Erkenntnisse.

Artikel Gemeinsam

Gemeinsam

Es war schon immer da, aber wir haben es nicht gesehen. Vielleicht wollten wir es auch nicht sehen.

Artikel Bereit oder nicht: es geht los

Bereit oder nicht: es geht los

Ist Ihre Software bereit für PHP 8.1? Jetzt ist es an der Zeit, das herauszufinden.

Artikel Ketchup oder Mayo?

Ketchup oder Mayo?

In einer Pommesbude gibt es ein paar Speisen und dazu Getränke. Da kann Gründen ja nicht besonders schwierig sein.

Artikel Software-Entwicklung und Profisport

Software-Entwicklung und Profisport

Der Vergleich zwischen Software-Entwicklung und Profisport kann erschrecken. Es geht hier allerdings nicht um Bewegungsmangel bei Entwicklern.

Artikel Mocke nicht, was Dir nicht gehört

Mocke nicht, was Dir nicht gehört

Abstraktion ist ein zentrales Themen beim Programmieren. Gibt jedoch ein Drittanbieter eine Abstraktion vor, kann es beim Testen Probleme geben.

Artikel Migration auf PHPUnit 9

Migration auf PHPUnit 9

Im Spannungsfeld zwischen Rückwärtskompatibilität und Fortschritt darf eine gute Developer Experience nicht zu kurz kommen.

Artikel Mit Cache wird alles schneller. Oder?

Mit Cache wird alles schneller. Oder?

Sebastian Bergmann berichtet von einem spannenden Problem, das bei der Arbeit an PHPUnit aufkam.

Artikel Wir haben gar kein Framework im Einsatz

Wir haben gar kein Framework im Einsatz

Ist ein eigenes Framework besser als eine Standardlösung? Oder kann man auf ein Framework ganz verzichten?

Artikel Entwickler gesucht, Maintainer gefunden

Entwickler gesucht, Maintainer gefunden

Es ist sehr schwierig, gute Entwickler zu finden. Schon mal versucht, stattdessen einen Maintainer zu suchen?

Artikel Scheiternde IT-Projekte

Scheiternde IT-Projekte

Sebastian Bergmann erklärt, wie man aus gescheiterten IT-Projekten lernen kann.

Artikel Kaputt gespart

Kaputt gespart

Arne Blankerts erklärt, warum man seine Abhängigkeiten aktuell halten sollte.

Artikel Wer hat an der Uhr gedreht?

Wer hat an der Uhr gedreht?

Sebastian Bergmann erklärt, warum PHPUnit nicht mehr auf die Uhr schaut.

Artikel Adieu, IT-Konferenz

Adieu, IT-Konferenz

Das Coronavirus verändert unser Leben. Welche Auswirkungen hat die Pandemie auf die Zukunft von IT-Konferenzen?

Artikel Besseres Design dank CQRS

Besseres Design dank CQRS

Getter lesen und Setter schreiben. Was passiert, wenn man diese Idee auf die Architektur einer Anwendung anwendet?

Artikel Automation und Edge Cases

Automation und Edge Cases

Die Corona-Pandemie zwingt uns zu neuen Auslegungen des Begriffs "Edge Case". Das führt zu interessanten IT-Problemen.

Artikel PHPUnit: Ein Sicherheitsrisiko?

PHPUnit: Ein Sicherheitsrisiko?

Sebastian Bergmann erklärt, warum PHPUnit auf einem Webserver nichts zu suchen hat.

Artikel Hilfe! Meine Tests funktionieren nicht mehr

Hilfe! Meine Tests funktionieren nicht mehr

Tests auf Knopfdruck ausführen ist eine tolle Sache. Das Testwerkzeug auf Knopfdruck aktualisieren klingt ebenfalls vielversprechend - oder vielleicht doch nicht?

Artikel Schatten der Vergangenheit

Schatten der Vergangenheit

Installationprogramme sind lohnende Angriffsziele, auch wenn sie keiner mehr benutzt. Hintergründe zum Einbruch in die PEAR-Infrastruktur des PHP-Projekts.

Artikel Wer zahlt für PHP?

Wer zahlt für PHP?

Da es keine Unterstützung durch ein Unternehmen oder eine gemeinnützige Organisation gibt, wer bezahlt die Entwicklung und Wartung von PHP - und wie?

Artikel Schnellere Code Coverage

Schnellere Code Coverage

Sebastian Bergmann und Sebastian Heuer erzählen, wie sie die Code Coverage-Funktionalität von PHPUnit schneller gemacht haben.

Artikel Die Zukunft von Zend

Die Zukunft von Zend

Einige Schlüsselpersonen haben angekündigt, dass sie Rogue Wave verlassen werden. Gefährdet das die Zukunft von PHP?

Artikel Microservices in der Mittagspause

Microservices in der Mittagspause

Die richtige Dekomposition ist ein entscheidender Erfolgsfaktor für Microservice-Architekturen. Hier ist der Grund dafür.

Artikel Konferenzen: zum Spaß oder für Geld?

Konferenzen: zum Spaß oder für Geld?

Wie viel Geld Konferenzsprecher in der PHP-Community tatsächlich verdienen.

Artikel Warum Entwickler Code schreiben

Warum Entwickler Code schreiben

Wenn sie nicht gerade in Meetings sind, schreiben Entwickler oft Programmcode. Warum ist dieser eigentlich immer so schwer zu verstehen?

Artikel Testen hält mich von der Arbeit ab

Testen hält mich von der Arbeit ab

Das Schreiben von Unit Tests braucht Zeit. Lohnt sich dieser Aufwand wirklich?

Artikel Der Todesstern

Der Todesstern

Sebastian Bergmann erklärt, warum die Verwendung einer zu offenen Versionsbeschränkung zu Problemen führen kann.

Artikel PHP 5: Aktiver Support endet. Was nun?

PHP 5: Aktiver Support endet. Was nun?

Der aktive Support für PHP 5 ist beendet. Was bedeutet das für Sie?

Artikel PHPUnit: Best Practices hinterfragen

PHPUnit: Best Practices hinterfragen

Best Practices sind nicht in Stein gemeißelt und müssen von Zeit zu Zeit hinterfragt und gegebenenfalls angepasst werden.

Artikel Wie man Daten validiert

Wie man Daten validiert

Die Validierung von Daten scheint eine der wichtigsten Aufgaben einer Anwendung zu sein. Schließlich kann man Daten aus externen Quellen nicht vertrauen.

Artikel Über Hackathons

Über Hackathons

Hackathons machen Spaß können sehr lehrreich sein. Aber vermitteln sie den Teilnehmern auch die richtigen Werte?

Artikel Versteckte Abhängigkeiten

Versteckte Abhängigkeiten

Das Herumreichen eines Service-Locators ist eine schlechte Idee, weil es Abhängigkeiten verschleiert. Aber wie können wir es vermeiden?

Artikel Von .phtml zu Domain-Driven Design

Von .phtml zu Domain-Driven Design

Arne Blankerts erinnert sich, wie er zum ersten Mal mit PHP in Kontakt kam.

Artikel Wird das WWW das next big thing?

Wird das WWW das next big thing?

Von Enterprise-Software zu Skriptsprachen: Stefan Priebsch erinnert sich, warum und wie er vor über 15 Jahren das erste Mal mit PHP in Kontakt kam.

Artikel Vom Amiga über Perl zu PHP

Vom Amiga über Perl zu PHP

Sebastian Bergmann erinnert sich, wie er zum ersten Mal mit PHP in Kontakt kam.

Artikel Den Wandel vorantreiben

Den Wandel vorantreiben

Sie sind nicht ganz zufrieden damit, wie es in Ihrem Team oder Ihrer Organisation läuft? Es gibt einen einfachen Weg, um Veränderungen anzustoßen.

Artikel PHP 7 bricht Abwärtskompatibilität

PHP 7 bricht Abwärtskompatibilität

Wie im Rahmen eines neuen Major-Releases wie PHP 7 zu erwarten ist, gibt es Brüche in der Abwärtskompatibilität. Wie ist damit umzugehen?

Artikel Bessere Tests für Joomla

Bessere Tests für Joomla

In einem Code Sprint zur Verbesserung der Joomla-Testumgebung wurden Fehler in PHPUnit und PHP selbst gefunden und beseitigt.

Artikel Bessere PHPUnit-Unterstützung in TYPO3

Bessere PHPUnit-Unterstützung in TYPO3

Sebastian Bergmann hat an einem Code Sprint teilgenommen, um die PHPUnit TYPO3 Extension zu verbessern.

Artikel Desintegrationstests

Desintegrationstests

Sebastian Bergmann nutzt den Mars Climate Orbiter der NASA als Aufhänger, um verschiedene Testarten zu diskutieren.

Artikel Lohnt sich kontinuierliche Integration?

Lohnt sich kontinuierliche Integration?

Ab welcher Projektgröße lohnt sich kontinuierliche Integration in PHP-Projekten?

Artikel Man ist, was man isst

Man ist, was man isst

Sebastian Bergmann verwendet das Personal einer Profiküche als Metapher für ein Entwicklungsteam, das qualitativ hochwertige Software liefern will.

Artikel Neugier und Perfektionismus

Neugier und Perfektionismus

Ein Vater von dreijährigen Zwillingen sieht erstaunliche Parallelen zwischen heranwachsenden Kindern und Software-Entwicklung.

Artikel Integrationstests - das fehlende Bindeglied

Integrationstests - das fehlende Bindeglied

Systemtests geben wenig Hinweise auf Fehlerursachen. Unit-Tests dagegen machen keine Aussage über das Verhalten einer Anwendung. Integrationstests schließen diese Lücke.

Artikel Unsere Adserver sind sicher

Unsere Adserver sind sicher

Online-Werbung ist nicht nur lästig, sondern sie wirft auch eine Reihe von technischen Problemen auf.

Artikel Großstadtlegenden und Fehlerbehandlung

Großstadtlegenden und Fehlerbehandlung

Wir alle kennen Geschichten, die mit "Ich habe von jemandem gehört" beginnen. Sind sie wahr, oder nur eine Großstadtlegende?

Artikel Betrugserkennung im Alltag

Betrugserkennung im Alltag

Wenn man sich anschaut, wie Kreditkarten im Alltag verwendet werden, ist es erstaunlich, dass ein so inhärent unsicheres System überlebt hat, da es gegen fast jede Regel verstößt, die es in Bezug auf Sicherheit gibt.

Artikel Blindes Vertrauen

Blindes Vertrauen

Ein Kurztrip zum Bahnhof wird zu einer Odyssee. Was sich daraus über Testautomation, technische Schulden und Qualitätsziele lernen lässt.

Artikel Experimentelle Bahnübergänge

Experimentelle Bahnübergänge

Welchen Einfluss wird ein beschrankter Bahnübergang auf den Verkehrsfluss einer Kleinstadt haben? Darüber kann man streiten oder ein kontrolliertes Experiment durchführen.

Artikel Das schwächste Glied in der Kette

Das schwächste Glied in der Kette

Arne Blankerts analysiert einen Einbruch in seine eigene Wohnung, um daraus Erkenntnisse für die Härtung von PHP-Systemarchitekturen zu gewinnen.

Artikel Software Development Fluxx

Software Development Fluxx

Sebastian Bergmann nutzt das Kartenspiel Star Fluxx als Metapher, um über agile Softwareentwicklung, objektorientiertes Design und Qualitätssicherung zu diskutieren.

Artikel Daten, Persistenz und meine Bratpfanne

Daten, Persistenz und meine Bratpfanne

Stefan Priebsch verwendet die Bratpfanne als Metapher, um den Unterschied zwischen relationalen und nicht-relationalen Datenbanken zu erklären.

Artikel Einfahrt verboten!

Einfahrt verboten!

Arne Blankerts verwendet Verkehrsregeln als Metapher, um den Unterschied zwischen dem bloßen Vorhandensein von Regeln für die Sicherheit und ihrer tatsächlichen Durchsetzung zu erklären.

Artikel Wenn es heiß wird

Wenn es heiß wird

Wenn die Klimaanlage nicht funktioniert, kann es an Bord eines ICE im Sommer so richtig heiß werden. Ein Plädoyer für Qualitätsziele.

Artikel Fußball für Projektmanager

Fußball für Projektmanager

Stefan Priebsch zeigt anhand der Metapher Fußball, wie man Projekte so managen kann, dass man auf die Hindernisse, die einem begegnen können, vorbereitet ist.

Artikel Spaces oder Tabs?

Spaces oder Tabs?

Entwickler fragt man besser nicht, welches Betriebssystem das Beste ist. Oder ob man mit Tabulatoren oder Leerzeichen einrücken soll.

Artikel Haben Sie unsere Kundenkarte?

Haben Sie unsere Kundenkarte?

Sammeln Sie Meilen? Sind Sie Mitglied in unserem Bonusprogramm? So langsam nervt es wirklich, dass man bei jedem Einkauf so etwas gefragt wird.

Artikel Sechzig Prozent Qualität

Sechzig Prozent Qualität

Sebastian Bergmann verwendet Hotelbewertungen als Metapher, um Qualitätsziele für Softwareprojekte zu erklären.

Artikel Das große Ganze sehen

Das große Ganze sehen

Die Menschheit baut schon seit über 5000 Jahren Gebäude. Software-Entwicklung dagegen ist eine noch sehr junge Disziplin.

Artikel Annahmen

Annahmen

Die Mehrheit der Entscheidungen, die wir jeden Tag treffen, und damit der Kern unserer Interaktionen basiert fast immer auf Annahmen.