programmiersprachen:entwickeln-mit-php

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
programmiersprachen:entwickeln-mit-php [2013/04/04 11:31] – [Code-Beispiele] stprogrammiersprachen:entwickeln-mit-php [2013/04/04 11:32] (aktuell) – [Code-Beispiele] st
Zeile 1: Zeile 1:
 +====== Entwickeln mit PHP ======
  
 +===== Links =====
 +  * [[http://www-128.ibm.com/developerworks/edu/os-dw-os-phptut1-i.html|Learning PHP, Part 1: Register for an account, upload files for approval, and view and download approved files]]
 +  * [[http://www-128.ibm.com/developerworks/edu/os-dw-os-phptut2-i.html|Learning PHP, Part 2: Upload files and use XML to store and display file]]
 +  * [[http://www-128.ibm.com/developerworks/edu/os-dw-os-phptut3-i.html|Learning PHP, Part 3: Authentication, objects, exceptions, and streaming]]
 +  * [[http://www.developer.com/open/article.php/3656001|Developing a Ajax-driven Shopping Cart with PHP and Prototype]]
 +
 +===== Entwicklungsumgebungen =====
 +
 +[[http://www.php-editors.com/review/|PHP-Editor Review]]
 +
 +==== Eclipse ====
 +  * [[software:Eclipse]] + plugin [[http://www.phpeclipse.de|phpeclipse]] ([[http://docs.schuetzengau-freising.de/modules/xdocman/index.php?doc=xo-002&lang=en|PHPeclipse User Manual]])
 +  * [[http://www.heise.de/newsticker/meldung/74706|Callisto: zusammengefasste Eclipse-Projekte]]
 +  * ... andere plugins, dann kann man sich phpmyadmin sparen FIXME
 +
 +===== Debugging (mit Eclipse-Addons) =====
 +in der php.ini sollte zuerst einmal das Anzeigen von Fehlern aktiviert werden:
 +  display_errors = On
 +dann sollte man die Anzeige möglichst vieler Informationen einstellen, dazu lassen wir mit der Zeile
 +  error_reporting  =  E_ALL & ~E_NOTICE
 +alle Fehler und zusätzliche Informationen anzeigen.
 +
 +  * **[[http://www-128.ibm.com/developerworks/opensource/library/os-debug/?ca=dgr-lnxw06PHPEclipse|Debugging techniques for PHP programmers]]**
 +  * [[http://www.plog4u.org/index.php/PHPEclipse_verwenden_:_Installation_:_Installation_des_DBG-Debuggers|Installation des DBG-Debuggers]]
 +
 +  * **debugging** gibts bei [[http://pecl.php.net]] (auch sowas wie [[http://pear.php.net|pear]]) das **[[http://xdebug.org|Xdebug]]** (PHP-Modul für eine bessere Fehlerausgabe).
 +  * [[http://xdebug.org/install.php|Xdebug Installationsanleitung]]
 +
 +
 +===== Frameworks =====
 +  * [[http://cakefoundation.org/|CakePHP]]
 +  * [[http://www.h3rald.com/articles/view/rails-inspired-php-frameworks|Articles :: Rails-inspired PHP frameworks (Vergleich von mehreren PHP-Frameworks)]]:
 +  * [[http://hades.phparch.com/ceres/public/article/index.php/art::zend_framework::tutorial?p=0|Zend]]
 +
 +
 +
 +===== Modultests oder Unit-tests =====
 +**[[wpde>Modultest|Modultests oder Unit-tests]]** helfen bei der Entwicklung von Software indem sie die Verifikation der Korrektheit von Modulen einer Software ermöglichen.
 +
 +==== phpunit (Pear-package) ====
 +[[http://www.phpunit.de/wiki/Main_Page|Homepage]]
 +[[http://www.phpunit.de/pocket_guide/2.3/de/index.html|PHPUnit - kurz & gut]]
 +
 +
 +===== PHP Klassen und Addons =====
 +  * [[http://pear.php.net|Pear]]: per kommandozeilen client ("pear install {paketname}") klassen runterladen und php erweitern da gibts auch eine sehr schöne Datenbankabstraktionsklasse DB und DB_DataObject. 
 +  * [[http://freshmeat.net/projects/httpclass/|HTTP client request class]] - HTTP requests, proxy server, HTTPS, HTTP Basic, HTTP Digest, and NTLM (Windows or Samba), submits POST requests, ...
 +  * [[http://www.php.net/manual/en/ref.ftp.php|Php ftp-Funktionen]]
 +
 +
 +
 +===== Code-Beispiele =====
 +  * Informationen über Server und PHP ausgeben: <code php>  <?PHP phpinfo();?> </code>
 +  * Servervariablen ausgeben: <code php> <?php
 +foreach($_SERVER as $_Name=>$_Wert)
 +echo '<br>'.$_Name.":  ".$_Wert;
 +?> </code>
 +  * Einzelne IP (hier: 22.23.24.25) an andere Adresse weiterleiten: <code php>$ipadresse = $_SERVER['REMOTE_ADDR'];
 +if($ipadresse == "22.23.24.25")
 +{
 + header("Location: http://www.zieldomain.com/");
 + // oder: header("Location: ./BACKUP/");
 + exit;
 +}</code>
 +
 +==== typische Aufgaben ====
 +  * [[http://sourceforge.net/projects/phputf8|phputf-8]]
 +  * [[http://kalender-365.de/|Ewiger Kalender für die Jahre zwischen 1800 und 2400 (incl. PHP-Code)]]
 +  * [[http://de.php.net/explode|string zu array (z.B. CSV-Liste) mit explode]]
 +
 +==== Mails versenden ====
 +[[http://www.php4-forum.de/mime_mail.htm|MIME-Mail]]
 +[[http://phpmailer.sourceforge.net/|Mailer-Klasse]]
 +[[http://www.zend.com/zend/spotlight/sendmimeemailpart1.php|Sending MIME e-mail from PHP - Part 1]]
 +
 +
 +==== Formulare ====
 +[[http://www.akademie.de/programmierung-administration/php/kurse/php-einfuehrung/formulare/auswerten.html|1a Übersicht zu php-Formularen]]
 +[[http://tut.php-q.net/formulare.html|Formulare verarbeiten]]
 +[[http://de.selfhtml.org/html/formulare/index.htm|Selfhtml zum Thema Formulare]]
 +[[http://www.webmaster-resource.de/tricks/php/login-formular-mit-php-und-mysql.php|Login-Formular]]
 +
 +==== PDF ====
 +[[http://www.zend.com/zend/tut/tutorial-PDFgen1.php?article=tutorial-PDFgen1&kind=t&id=4793&open=1&anc=0&view=1#notes|PDF Generation Using Only PHP - Part 1]]
 +[[http://sourceforge.net/projects/tcpdf/|TCPDF - PDF class for PHP]]
 +
 +
 +==== MySQL Connect ====
 +<code php>
 +  $connID = mysql_connect ("localhost", "dbuser". "passwort");
 +  if ($connID){
 +   // Datenbankverarbeitung
 +  } else {
 +  echo ("Fehler: Kein Datenbankzugriff m&ouml;glich!<br />");
 +  }
 +  mysql_select_db("Datenbankname");
 +  // oder falls mehrere Datenbakverbindungen geöffnet sind:
 +  mysql_select_db("Datenbankname", $connID);
 +  
 +  // (Auswahl-)Abfrage
 +  $result = mysql_query ("SELECT * FROM DatenbankName WHERE Feld1 LIKE "Zeichenkette");
 +  
 +  // Zeilen davon auslesen, beide liefern ein Array
 +  mysql_fetch_row ($result)  // Indices nummerisch
 +  mysql_fetch_arry ($result) // Die Feldnamen
 +</code>