Skip to main content

225 posts tagged with "PHP"

View All Tags

Zugriff von PHP5 und Debian auf MSSQL Server

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 3 min read
Stephan Hochdörfer
Head of IT Business Operations

In einem aktuellen Projekt ist es notwendig, dass unsere Anwendung mit einem MSSQL Server zu kommuniziert. Grundsätzlich natürlich kein Problem wenn wir die Möglichkeit hätten auf dem Server per PHP Skript einen direkten Zugriff zu erhalten um von dort aus die Daten in unsere Postgres Datenbank zu pushen. Allerdings haben die Systemadministratoren des Kunden naturgemäß etwas dagegen. Es bleibt also nur der Direktzugriff per unixODBC / FreeTDS von einem der Debian-Server auf dem unsere Anwendung läuft. unixODBC ist eine Open Source Implementation der in der Windows-Welt populären ODBC API. Bei FreeTDS handelt es sich um die freie Implementation des TDS Protokolls, welches unter anderem auch vom Microsoft SQL Server genutzt wird.

Custom Factories RFC für den PHP Kern

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Dank Robert Lemke vom Typo3 Projekt gibt es seit einigen Tagen einen RFC für sog. Custom Factories für PHP. Die grundsätzliche Idee des RFC ist es via SPL die Objekterzeugung beeinflussen zu können, ähnlich wie es bsp. mit spl_autoload möglich ist eigene Klassenloader zu definieren. Er möchte damit Einschränkungen in Legacy Bibliotheken aufbrechen die es aufgrund von fest verdrahteten Abhängigkeiten nicht möglich machen eigene Komponenten innerhalb der Legacy Bibliothek zu verwenden. Im aufgeführten Beispiel wird dies gut anhand eines Logger-Beispiels aufgezeigt. Im Grunde halte ich die Idee für recht interessant. Ich denke viele Entwickler sind in der Vergangenheit über das Problem gestoßen dass sich Frameworks oder Bibliotheken von Drittanbietern an machen Stellen nicht optimal in die eigenen Anwendungsstrukturen einbinden lassen konnten bzw. es nur sehr umständlich möglich war eine Integration zu erreichen.

XDebug mit mehreren Usern

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Gefunden via planet-php.org: Derik hat in seinem Blog ein Howto veröffenlicht das erläutert via man via dbgproxy mit mehreren Usern gleichzeitig eine XDebug zum Remote-Debuggen nutzen kann. Die Möglichkeit war mir bislang nicht bekannt und von daher das Interesse groß das ganze einmal auszuprobieren.

File stream wrapper on steroids

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Gefunden via planet-php: Alex Netkachov zeigt wie man den internen File stream wrapper überschreiben kann. Sehr nett, vor allem eine weitere interessante Idee für meinen Vortag beim nächsten DevDusk.Mit dieser Technik lassen sich prinzipiell beliebige Dateien zur Laufzeit includen, abhängig von der Implementierung der StreamWrapper Klasse. Man könnte es wohl als "Erweiterung" zu der autoload Funktionalität sehen wobei sich diese ja "nur" auf das Einbinden von Klassen bezieht.

Dependency Injection everywhere

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

In den letzten Monaten wurden in einigen Blogs immer mal wieder Beiträge zum Thema Dependency Injection (DI) in PHP verfasst. In einem aktuellen Beitrag von Fabien Potencier, dem Lead-Entwickler von Symfony, stellt er die These auf, dass man mitunter keinen IoC Container benötigt, um grundsätzlich vom DI Ansatz zu profitieren. Diese Ansicht kann ich nicht teilen. Aus seinem Beispiel und auch den Beispielen aller anderen Blogbeiträge wird der Nutzen von DI, vor allem im Rahmen eines kompletten Frameworks, meines Erachtens nicht klar genug dargestellt. Das Thema ist natürlich viel zu komplex um in einem kurzen Blogeintrag behandelt zu werden. Die Vorteile von DI sind schließlich vielfältiger Natur. Zu erkennen wie sauber der eigene Programmcode werden kann, wie einfach sich die einzelnen Schichten einer Anwendung testen lassen oder was die Austauschbarkeit einzelner Komponenten zur Laufzeit bedeutet, braucht seine Zeit. Das zeigt zumindest meine Erfahrung aus den letzten drei Jahren täglicher Arbeit mit DI mit unserem bitFramework.

Copy & Paste Detection für PHP

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Gefunden via Sebastian Bergmann's Blog: phpcpd - ein Copy & Paste Detector für PHP Code. Installiert wird das ganze via PEAR Installer. Nach einem ersten schnellen Test an unserem bitFramework freut es mich 0.00% duplizierten Code vorzufinden. Ich hatte auch schon länger vor auf Basis des PHP_CodeSniffers etwas ähnliches zu programmieren, mangels der nötigen Freizeit blieb es bisher bei dieser Idee.

Testing untestable code @DevDusk

· One min read
Stephan Hochdörfer
Head of IT Business Operations

Im Rahmen des DevDusk Events am 15.01.2009 der von der PHP Usergroup Frankfurt initiiert wurde darf ich zum Thema "Testing untestable code" einen Vortrag halten. Der Vortrag wird nicht TTD lastig werden, soll aber zeigen dass es entgegen einer weitverbreiteten Meinung doch möglich ist Anwendung mit stark gekoppelte Komponenten testen zu können. Die Ideen geistern schon lange in unseren Köpfen herum und wurden dieses Jahr im Rahmen von einigen Projekten differenziert betrachtet. Der Fokus unserer Betrachtungen lag vor allem darin ohne Refactoring des ursprünglichen Quellcodes das Ziel der Testbarkeit einzelner Komponenten zu erreichen. Die Ergebnisse möchte ich nun der blogheit vorstellen und bin gespannt welches Feedback ich dazu bekomme.

dropr - die Message Queue für PHP

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· One min read
Stephan Hochdörfer
Head of IT Business Operations

Im Zuge einer Evaluierung für eines unserer Kundenprojekte bin ich auf dropr aufmerksam geworden. dropr ist eine verteilte Message Queue für PHP und wird von Jimdo Mitarbeitern betreut. Der Vorteil von dropr liegt zum Einen darin vollständig in PHP entwickelt worden zu sein, zum Anderen wird dennoch sichergestellt dass die Datenübertragung zuverlässig und permanent funktioniert. Dank des dezentralen Architekturansatzes und der Modularisierung für die Message-Queues und den Transportmechanismen läßt sich dropr in den unterschiedlichsten Anwendungsbereichen einsetzen.

FirePHP für FireBug

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Die FireBug Extension für den Firefox Browser gehört zu unserem Handwerkszeug ebenso dazu wie die IE Developer Toolbar. Für das Debuggen von Ajax-Anwendungen allerdings sind beide Tools nicht sonderlich hilfreich. Zwar zeigt FireBug die Request und Response Daten an, dennoch wäre es hilfreich zu wissen was auf Serverseite (im Hintergrund) passiert um zu Erkennen wie die Response tatsächlich zusammengebaut wird.