PHP 6 Beliebte Webskriptsprache wird erwachsen. Linux User Group Bern 14.05.2009 René Moser <mail@renemoser.net>



Ähnliche Dokumente
WordPress lokal mit Xaamp installieren

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert Dengg. Graz,

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Algorithmen mit Python

Ihr IT-Dienstleister aus Bonn

Inhaltsverzeichnis. Vorwort... 3 Installation von XAMPP... 3 Installation von Joomla... 8 Schlusswort Copyright

mygesuad Download: Wamp/Lamp Systemumgebungen:

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

GITS Steckbriefe Tutorial

Open Source. Hendrik Ebbers 2015

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Redmine, das Projekt Management Werkzeug

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Beliebte Content-Management-Systeme im Vergleich (Open-Source)

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Debugging in Magento

Vergleich von CM-Systemen. präsentiert von Tim Hoffmann und Niels Reinhard

Filmzitate - CMS System Joomla Dokumentation. Samuel Weibel 10. Dezember 2013 Kantonsschule am Brühl

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

#twittwoch #leipzig #220910

Fragen Arthur Zaczek. Apr 2015

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

doubleslash Net-Business GmbH

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

Resusci Anne Skills Station

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Besten Dank, dass Sie sich überlegen, eine Website von Daynox erstellen zu lassen!

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

InfoPoint vom 9. November 2011

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

WordPress installieren mit Webhosting

Virtuemart-Template installieren? So geht es! (Virtuemart 2.0.x)

teischl.com Software Design & Services e.u. office@teischl.com

Entwicklungswerkzeuge

Installationsanleitung für Magento-Module

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Leistungen und Referenzen. 30. September 2013

Open Source - Was ist das eigentlich?

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

! " # $ " % & Nicki Wruck worldwidewruck

Java Entwicklung für Embedded Devices Best & Worst Practices!

Herzlich willkommen im Modul Web-Engineering

Professionelle Seminare im Bereich MS-Office

Knowledge Management in der Technischen Dokumentation. Knowledge Management in der Technischen Dokumentation

Blacksnow Design. Web Hosting. Blacksnow Design Webdesign and more...

Test mit lokaler XAMPP Oxid Installation

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Was meinen die Leute eigentlich mit: Grexit?

Open Source Entscheidungen

NetMaster Service Systems

Abenteuer e-commerce Erfolgreich mit dem eigenen Onlineshop.

Geschrieben von: Stefan Sonntag, den 26. Juni 2011 um 09:45 Uhr - Aktualisiert Sonntag, den 26. Juni 2011 um 10:12 Uhr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Existierende Systeme I Bibliotheken & Frameworks

Das Internet Marketing Fundament

Kurzanleitung Installation der Zend Studio Sprachpakete

'DV8QWHUQHKPHQI U SURIHVVLRQHOOH,7/ VXQJHQ

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Sonnenfinsternis in der Technischen Redaktion

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Internet Services. Internet für Unternehmer. Worauf achten erfolgreiche Unternehmer heute in Bezug auf das Internet?

Algorithmen und Programmieren II Einführung in Python

Auswertung der Teilnehmerumfrage zum. vom November 2010

Objektorientierte Programmierung. Kapitel 0: Begrüssung

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

So stellen Anfänger eine Website online! Joachim Kirchner Tel.: r

Fragebogen zur Erfassung der Anforderungen eines Websiteprojekts

Checkliste zur Planung einer Webseite

StudyDeal Accounts auf

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

6. November 2013 Maik Bruns, Bloofusion Germany Schnell nach oben mit SEO Mythos vs. Realität

Einführung in PHP. (mit Aufgaben)

Freie Software: Was bringt s mir? Peter Bubestinger, David Ayers. 17. Mai 2008

Kurzanleitung. Kirschfestverein Naumburg e.v. t e c h n ische Abt e i lung. für Benutzer des CMS der Domain:

modern - sharp - elegant

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Internationales Altkatholisches Laienforum

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

die wichtigsten online-tools für augenoptiker websites

Django - ein Python Web-Framework

Geany Just Not Another Editor

Homepage-Optimierung. Mit der Homepage Kunden gewinnen!

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation

Silverstripe CMS und das Sapphire Framework

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Reporting Services und SharePoint 2010 Teil 1

SMART Newsletter Education Solutions April 2015

FL1 Hosting FAQ. FL1 Hosting FAQ. V1.0 (ersetzt alle früheren Versionen) Gültig ab: 18. Oktober Telecom Liechtenstein AG

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

1. License Borrowing Verfahren

Open Source Einsatz in der Stadt Wien

Managed VPSv3 Was ist neu?

:: Anleitung Hosting Server 1cloud.ch ::

Transkript:

PHP 6 Beliebte Webskriptsprache wird erwachsen Linux User Group Bern 14.05.2009 René Moser <mail@renemoser.net>

Inhalt 1.Wie entstand PHP? 2.Was PHP? 3.Warum PHP? 4.Wie installiere ich PHP? 5.Wie programmiere ich in PHP? 6.Was ist gutes Programmierdesign? 7.Weiteres? Fragen?

Was ist PHP? Skriptsprache Open Source Software Lizenz: PHP License Einflüsse: Java, C, C++, Perl Paradigmen: funktional und ojektorientiert

Wer setzt PHP ein? Facebook Wikipedia Yahoo! Youtube Wordpress Digg Flickr

Wo wird PHP eingesetzt? MediaWiki Wiki Software Typo3, Joomla!, Drupal CMS PhpMyAdmin MySQL Administration PHPbb, vbulletin Forum Wordpress, Serendipity Blog Software Moodle, ILIAS Lernplattform ecommerce, Magento Onlineshop

Warum PHP? Pro: Einfacher Syntax Schnelle Ergebnisse Weite Verbreitung von LAMP bei Webhostern Viele Applikationen in PHP Datenbankanbindung einfach zu machen

Warum nicht PHP? Kontra: Unkoordinierte Entwicklung PHP Interpreters Einfach, unsicheren Code zu schreiben Es gibt Python, Ruby, JSP...

Wofür PHP? Verwendet für dynamische Webseiten Webanwendungen CLI Scripting

Wie entstand PHP? 1995: PHP 1 von Rasmus Lerdorf 1998: PHP 3 von Andi Gutmanns und Zeev Suraski neu geschrieben 2000: PHP 4 von Zend Technologies mit Zend Engine 1 2004: PHP 5 mit Zend Engine 2 Heute: PHP5 5.3rc2

PHP 4 vs PHP 5 Bessere OOP Unterstützung: Exceptions Private Methoden und Attribute DOM XML u.a.

PHP 4 vs PHP 5 Flickr: Wir haben mit der Umstellung von PHP 4 auf PHP 5 die CPU-Last um 20% gesenkt. PHP 4 ist End Of Life PHP 4 will niemand mehr...

Was ist neu in PHP 5.3 Namespaces Verbesserter XML Support Goto Closures Natives PHP Archiv Phar

Die Zukunft: PHP 6 Durchgehend Unicode! ereg() entfernen Aufräumen: Weg mit 'register_globals', 'magic_quotes' und 'safe_mode'

Wie installiere ich PHP ein? Für Entwicklungsumgebung: XAMPP von http://apachefriends.org: Alles dabei: Apache 2, PHP 5, MySQL 5, PEAR, etc... Mehrere unterschiedliche XAMPPs auf einem System Starten wenn man es braucht...

Und so gehts...

Wie programmiere ich in PHP? Dateiextension:.php oder.phtml Beginn mit <?php (oder <?) Hervorragendes Online Manual: http://php.net/

Beispiele in PHP Ein einfaches Hallo Welt Eine einfache Funktion Eine einfache Datenbankanbindung Eine einfache Klasse

Register Globals? Der Grund warum PHP so beliebt und berüchtigt wurde Ein Beispiel Ist seit PHP 4.2 Jahr 2002 deaktiviert

Ist PHP sicher? National Vulnerability Database: Overall proportion of PHP-related vulnerabilities: 20% in 2004 28% in 2005 43% in 2006 36% in 2007 35% in 2008 36% in 2009

Ist Java sicherer? National Vulnerability Database: Overall proportion of Java-related vulnerabilities: 2% in 2004 3% in 2005 3% in 2006 3% in 2007 3% in 2008 4% in 2009

Ist PHP sicher? Ja, aber PHP macht's einem nicht von Hause aus einfach

Professionell mit PHP entwickeln Was ist schlechter Code? Einige Beispiele Was ist guter Code?

Guter Code ist... 1.Fehlerfreier Code 2.Wartbarer Code 3.Testbarer Code 4.Erweiterbarer Code 5.Dokumentierter Code

Guter Programmierstil DRY Don't Repeat Youself KISS Keep It Simple and Stupid YAGNI You ain't gonna need it

Fehlerfreier Code Was ist ein Fehler? Fehler in Software: Bugs! Fehler: Keine Verbindung mit... Exception! So sieht das aus

Wartbarer Code Code wiederverwenden Modularer Code Objektorientierter Code Separation of Concerns Model View Controller MVC Frameworks!

PHP Frameworks PEAR: PHP 4 / 5, PHP Lizenz Zend Framework PHP 5, BSD Lizenz CakePHP PHP 4, MIT Lizenz Symphony PHP 5, MIT Lizenz

Framework Trends

Testbarer Code Tests in der Realität Auto: Bremse geht nicht.. Progammlogik definieren Formular: Nicht alle Felder ausgefüllt? Keine MySQL Connection? Formular: Email Syntax nicht korrekt? Unit Tests PHPUnit Installieren via PEAR

PHP Unit

Running the Test

Erweiterbarer Code OOP MVC Framework Design Patterns Singleton (Einzelstück) Factory Method (Fabrikmethode) Abstract Factory (Abstrakte Fabrik)

Design Patterns?

Abstrakte Fabrik

Dokumentierter Code Anzahl Zeilen Code = Anzahl Zeilen Dokumentation Zeit wird an Dokumentation gesparrt Muss einfach und zeitnah sein! phpdocumentor Installation via PEAR

Zend Framework Wie benutzt man Zend Framework?

Tools? Was es sonst noch für Tools gibt IDE: Eclipse PDT Editor: JEdit, gedit,!dreamweaver SCM: Git, SVN Phing Vortrag über SVN Build Tool

Links Projektseite von PHP: http://php.net Zend Framework: http://framework.zend.com PEAR: http://pear.php.net Eclipse PDT: http://www.eclipse.org/pdt/ PHPUnit: http://www.phpunit.de

Fragen? Besten Dank für die Aufmerksamkeit!