====== 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: * Servervariablen ausgeben: $_Wert) echo '
'.$_Name.": ".$_Wert; ?>
* Einzelne IP (hier: 22.23.24.25) an andere Adresse weiterleiten: $ipadresse = $_SERVER['REMOTE_ADDR']; if($ipadresse == "22.23.24.25") { header("Location: http://www.zieldomain.com/"); // oder: header("Location: ./BACKUP/"); exit; } ==== 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 ==== $connID = mysql_connect ("localhost", "dbuser". "passwort"); if ($connID){ // Datenbankverarbeitung } else { echo ("Fehler: Kein Datenbankzugriff möglich!
"); } 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