PHP

Die Skriptsprache PHP bietet viele Vorteile. Da es sich bei PHP um eine recht junge Programmiersprache handelt, wurde darauf geachtet, dass alle Nachteile bestehender Skriptsprachen vermieden werden. Die Vorteile der bestehenden Skriptsprachen wurden jedoch in PHP integriert. Ein weiterer Vorteil besteht in der geringen Serverbelastung. So ist die Belastung eines Webservers, auf dem CGI ausgeführt wird, ungleich höher als die der Webserver, auf denen PHP ausgeführt wird. Bei PHP müssen keine teuren System – Calls gemacht werden, sobald neue Prozesse erzeugt werden sollen. PHP ist nämlich meist als Modul im Webserver eingebunden, so dass nicht für jede Anfrage ein neuer Prozess gestartet werden muss.

PHP ist somit Teil des Webservers und ist immer geladen. Für PHP existieren zahlreiche Template – Klassen wie PHPLIB, Smarty – PHP template engine, Fast – Template – Klasse und andere. Auf diese Weise kommt es zur Trennung von Layout und Code, was eine Reihe von Vorteilen mit sich bringt. So ist ein Redesign der Websites ungleich einfacher, die Inhalte lassen sich für verschiedene Ausgabegeräte wie zum Beispiel Desktop Rechner oder Palm formatieren und die Zusammenarbeit mehrerer Personen vereinfacht sich. PHP wird browserunabhängig ausgeführt und beschränkt sich nicht nur auf reine HTML – Seiten. Die Verfügbarkeit von PHP ist systemübergreifend. Das bedeutet einen großen Vorteil für sämtliche Benutzer. PHP bietet zudem den Vorteil, dass es kostenlos verfügbar ist. Es fallen absolut keine Lizenzgebühren an.

Dazu ist PHP Open – Source – Software und bietet die damit verbundenen Vorteile wie eine große Stabilität, sehr zügige Fehlerbereinigung und das Fehlen teurer Support – Hotlines. Jedem ist es möglich, sich an der Weiterentwicklung dieser Programmiersprache zu beteiligen. Dieser Vorteil basiert auf der Spezifikation der Erweiterungen. Es ist also recht einfach, neue Module für PHP zu schreiben. Im Zusammenspiel mit MySQL ist eine objektorientierte Arbeitsweise problemlos möglich. So kann ein Klassensystem für neue Anwendungen immer wieder verwendet werden. Die Präsentation ist ohne Fehler möglich, da solche Fehlerquellen automatisch überwacht und korrigiert werden. Somit bleibt der Anwendungsaufbau sehr leicht zu pflegen und vor allem überschaubar.

PHP mit Wordpress

wordpressMit WordPress lassen sich die Inhalte einer Website komfortabel verwalten. Neben zahlreichen Funktionen insbesondere für Weblogs bietet WordPress die Möglichkeit an, Leserkommentare vor der Veröffentlichung zu prüfen, Benutzerrollen zu verwalten, Benutzerrechte zu verwalten, zentrale Links zu verwalten und externe Plug -Ins einzubinden. WordPress ist dadurch nahe an einem vollwertigen CMS (Content – Management – System) dran und wird sicher auch in Zukunft als solches ausgebaut werden.

Da WordPress auf PHP basiert, benötigt es eine MySQL – Datenbank. Die freie Software steht zudem kostenlos zur Verfügung und arbeitet insbesondere an den Werten Benutzerfreundlichkeit, Webstandards, einfache Anpassbarkeit und Eleganz. Die wachsende Benutzergemeinde war sehr schnell begeistert vom Nachfolger des b2 – Systems.

Fehler kommen auch bei WordPress vor. Diese lassen sich jedoch recht einfach mittels PHP lösen.
So bringt WordPress seit der Version 2.8 das neue Template – Tag body_class mit. Damit lassen sich unterschiedliche Abhängigkeiten und Statusinformationen als CSS – Klassen an das Element heften. Auf diese Weise kann man mit CSS im Layout darauf reagieren. Die Umsetzung dieser an sich nützlichen Funktion ist leider mit Problemen verbunden. Durch die Verwendung von sehr gebräuchlichen Bezeichnungen kommt es nämlich zu unerwünschten Kollisionen bei der Umsetzung fertiger CSS – Layouts in WordPress. Umgehen lässt sich dieses Problem durch die Voranstellung des Kürzels wp bei allen CSS – Klassen, die dynamisch ins Markup generiert wurden.

Ein weiteres Problem ist, dass Galeriebilder nicht mit einem rel – Tag gruppiert werden können. Besucher können sich also nicht mittels Maus oder Tastatur durch die Galerie navigieren. Auch dieses Problem lässt sich sehr leicht mit PHP lösen. Zunächst muss man die Inline – CSS entfernen (aus Performance – gründen) und anschließend ein rel – Tag für die Gruppierung einfügen. Um den Inline – CSS zu entfernen, muss lediglich folgende Zeile in die funktions.php – Datei eingefügt werden:

add_filter('gallery_style', create_function('$a', 'return "
";'));

Nun muss noch der folgende Code in die functions.php / Datei kopiert werden, um ein rel – Tag für die Gruppierung einzufügen

add_filter( 'wp_get_attachment_link' , 'add_gallery_rel' ); function add_gallery_rel(attachment_link ) {global $post; $attachment_link = str_replace("
return $attachment_link;

Fertig. Es ist also relativ leicht, mit Grundkenntnissen in PHP anfallende Probleme zu lösen.

Magento mit PHP anpassen

Unabhängig vom verwendeten Betriebssystem kann mit Magento die Einrichtung und das Betreiben eines Onlineshops durchgeführt werden. Das bedeutet, in der derzeit verfügbaren Version 3.0, der sogenannten Open Software Lizenz, kann der Betreiber seinen Onlineshop vollständig einrichten und führen. Außerdem kann Magento mandantenfähig eingerichtet werden. Das heißt, man kann einem Kunden ein bestimmtes Produktsortiment anbieten und gleichzeitig einem anderen Kunden ein anderes Sortiment zeigen.
Konkret wird die PHP Version 5.3x bei der Magento Programmierung eingesetzt. Mit den Möglichkeiten die PHP anbietet, kann ein PHP-Kundiger Betreiber bzw. Magento Programmierer die Open Source Software Magento mit PHP auch entsprechend so anpassen, dass die veränderten Ansprüche und Situationen auf der Magento-Ebene verändert werden. Somit können wichtige Bestandteile und Eigenschaften in Magento eingearbeitet, um diese neuen Eigenschaften einzupflegen. Konkrete, eigentlich sehr kleine Anpassungen werden und müssen vorgenommen werden, dann kann der Magento auf Grundlage der neuen PHP-Version betrieben werden. Allerdings ist darauf zu achten das es nicht zu Fehlern kommt.

Damit es nicht zu einem sogenannten „fatalen Fehler“ kommt, muss es zu einer Veränderung und Anpassung kommen. Dabei wird die sogenannte „__tostring()“ Methode verändert, damit sie auch nach der Einführung der PHP-Version 5.3x die optionalen Parameter akzeptiert. Damit es dennoch zu einer Akzeptanz kommt, muss es zu einer Entfernung der Parameterliste kommen. Das bedeutet im Skript ganz konkret:
class Varien_Object implements ArrayAccess
{
// ...
public function __toString()
{
$args = func_get_args();
$arrAttributes = isset($args[0]) ? (array)$args[0] : array();
$valueSeparator = isset($args[1]) ? $args[1] : ',';
$arrData = $this->toArray($arrAttributes);
return implode($valueSeparator, $arrData);
}
// ...
}

Durch diese Veränderung und Anpassung wird ein sogenannter „fataler Fehler“ vermieden. Danach muss die Anpassung fortgesetzt werden, das bedeutet die sogenannten „split()“-Aufrufe werden gegen „explode()“-Aufrufe ausgetauscht. Das sind etliche Veränderungen, die im Script-Code verändert werden müssen. Last but not least muss eine Veränderung in der Datei index.php vorgenommen werden. Diese Veränderung muss am sogenannten Error-Reporting-Level durchgeführt werden. Damit wird eine sogenannte „deprecated-Notice“ unterdrückt. Im Detail bedeutet das schließlich: die Zeile „error_reporting(E_ALL | E_STRICT);“ wird angepasst und lautet dann:
„if (defined('E_DEPRECATED') {
error_reporting((E_ALL | E_STRICT) & !E_DEPRECATED);
} else {
error_reporting(E_ALL | E_STRICT);
}“

Nach dieser Anpassung wird Magento auf Ebene der Version PHP 5.3x problemlos laufen (müssen).

Ein weiteres Beispiel dafür, Magento mit PHP anpassen ist, dass viele Magento-Nutzer feststellen, dass Magento einen deutlichen Rundungsfehler im System enthält, der sich bei einem kleinen Euro-Betrag kaum auswirkt, aber bei größeren Summen und Beträgen sehr schnell etliche Euros in der Summe bedeutet. Diesen Rundungsfehler beispielsweise kann ein versierter Programmierer bzw. Shopbetreiber in Magento mit PHP anpassen. Dabei müssen einige konkrete Veränderungen und Anpassungen vorgenommen werden. Die erste Veränderung betrifft die Zeile 740 im PHP-Script. Dies betrifft den Programm-Bereich /app/code/core/Mage/Core/Model/Store.php. Der bisherige Wert, den Magento dem Nutzer anbietet, lautet in der Programmiersprache an dieser Stelle: „return round($price, 2);“. Hier muss der Nutzer die Anpassung in PHP vornehmen und den Wert in „return round($price, 4);“ ändern, das bedeutet, dass der Rundungswert am Preis von 2 auf 4 Stellen gesetzt werden muss. Damit wird dieser konkreter und genauer.
Des Weiteren müssen in Folge weitere Anpassungen in PHP in der Zeile 161 hin zu Zeile 86 vorgenommen werden. Auch dieser Programmwert muss angepasst werden. Des Weiteren muss der $ Wert von zwei auf vier gesetzt werden, das bedeutet konkret: von $value, 2, null, ‘’ zu $value, 4, null, ‘’. Eine letzte Veränderung muss schließlich in der Zeile 285 vorgenommen werden: In den beiden Zeilen „return number_format“ muss der $ Wert jeweils wiederum von zwei auf vier gesetzt werden. Auch hier bedeutet das: von $value, 2, null, ‘’ zu $value, 4, null, ‘’. Diese Anpassung muss zwei Mal durchgeführt werden.

Wege zum eigenen Webshop

Die Möglichkeit, im Internet einzukaufen, hat Menschen den Weg in die Selbstständigkeit ermöglicht, die es ohne das Internet vielleicht niemals geschafft hätten. Ein eigener Webshop ist auch heute noch der (…) Read more