Nice to know: Optionale Parameter in PHP Funktionen

Posted on 30th September 2007 in PHP, Web Development

Bis heute habe ich es noch nie benötigt, aber wenn man sich ein bisschen intensiver mit PHP beschäftigt, dann merkt man schon, dass es immer wieder neues zu entdecken gibt.

Also, für die, die den Titel nicht gelesen haben… ;) es geht hier um optionale Parameter in PHP Funktionen.

Ich will, dass meine Funktion get_sitename() einen Parameter namens variante hat, welche aber nur optional angegeben werden muss. Dies erreiche ich folgendermassen:

<?php
  function get_sitename($variante = 0) {
    //...
  }
?>

Wenn man get_sitename() aufruft und dabei keinen Wert für den Parameter variante angibt, so wird diesem Parameter als Standardwert, die Zahl 0 zugewiesen.

Hier ein bisschen mehr Code, um ein praktisches Beispiel zu sehen.


<?php
  function get_sitename($variante = 0) {
    switch($variante) {
      //Case: Seitentitel mit echo ausgeben
      case 1:
        echo 'klajo.com';
      //Case: Wenn kein Parameter mitgegeben
      case 0:
        return 'klajo.com';
    }
  }
?>

Auf #PHP/QuakeNet gibt’s noch ein bisschen mehr zu den optionalen Parametern.

comments: 2 »

Tools die ich fürs Programmieren benutze

Welche Tools ich zur Erledigung meiner Webworker-Arbeiten und sonstiges Programmieren benutze stelle ich hier vor. Alle Programme sind kostenfrei, was ich äusserst schätze, denn gut muss nicht immer teuer sein.

PHP Designer / PHP, Web development

Für das Programmieren von PHP Skripten benutze ich neben Notepad auch gerne den PHP Designer 2007 – Personal von MPSOFTWARE. Die Personal Edition ist eine Gratisversion für den nicht-kommerziellen Einsatz.

Die Software bietet viele coole Features, wie das Syntax-Highlighting für verschiedene Sprachen (PHP, HTML, XML, SQL, u.a.), für die Faulen gibt es fertige Code-Snippets (Funktionen, Klassen, Variable deklarieren), markierten Text zu einem Kommentar machen oder diesen in einen echo-Befehl (und auch andere) konvertieren.

Für mich genügen eigentlich die nette Oberfläche, sowie die Übersicht aller Variablen und Funktionen (so eine Art Zusammenfassung als Liste). Über diese kann man auf die Funktionen ganz schnell zugreifen, also man springt direkt zur angeklickten Funktion im Code. Das ist sehr praktisch, wenn man in einem Skript ganz viele Funktionen hat und somit die Übersicht über diese fehlt.

Toad Data Modeler / ERM, Datenbankmodellierung

Mit der Datenbankmodellierung beschäftige ich mich sehr oft. Um diese Tätigkeit nicht auf Papier ausüben zu müssen, benutze ich die Freeware von Toad Datamodeler von Quest Software.

Mit diesem genialen Tool lässt sich leicht ein ERM einer Datenbank erstellen. Die Entitätstypen werden als Kästchen erstellt, die die Attribute beinhalten. Den Attributen kann man alle Eigenschaften zuweisen, darunter wären mal Autoincrement, Datentyp, NULL / NOT NULL, Länge, usw. Die Beziehungen zwischen den Entitäten können natürlich auch gesetzt werden.

Eines meiner Lieblingsfunktionen des Programms ist, dass man aus dem erstellten ERM ein SQL-Script zur Erstellung der Datenbank generieren lassen kann.

Für mich ist dieses Tool jenes, das mir am meisten Arbeit erspart bzw. diese erleichtert.

Filezilla / Dateiupload

Um all meine Arbeiten auf dem Webserver hochzuladen, benutze ich den Opensource FTP Client Filezilla.

Es lassen sich bequem mehrere FTP Server verwalten und Proxy-Server werden ebenfalls unterstützt. Hat man viele Dateientransfers, die man alle auf einmal hochladen will, so bietet sich die Funktion “Warteschlange” an, mit der eine Warteschlange mit mehreren Operationen erstellt und anschliessend abgearbeitet werden kann. Filezilla ist als simpler und weit verbreiteter FTP Client sehr empfehlenswert.

Eclipse / Java Programmierung

Das berühmte Open-Source Projekt Eclipse dient mir als treues IDE für meine Java-Programme.

Ganz einfach werden die Java-Projekte angelegt und verwaltet. Beim Programmieren praktisch, die Befehlsreferenz, die von selbst erscheint, wenn man z.B. System.out. eingibt und einem so alle verfügbaren Methoden, Eigenschaften, usw. des Objektes auflistet. Nicht nur das, auch die Beschreibung der Methoden kann in sekundenschnelle in eine Art Tooltip Box eingeblendet werden. Bei der Fehlersuche bin ich (fast :D ) immer beim Debugger fündig.

Aufgrund der Plug-in-Struktur wird Eclipse nicht nur für Java, sondern auch für viele andere Programmiersprachen genutzt. Die Plug-ins können über die Update-Funktion von Eclipse kostenlos heruntergeladen werden. Und dann gibt es noch Plug-ins, für die bezahlt werden muss. Mir genügt aber Eclipse in der Standardversion vollkommen als Java Entwicklungsumgebung.

XAMPP

Bei keinem Webdeveloper darf dieses Paket fehlen. XAMPP, das Fixfertig-Paket mit Apache, MySQL, PHP und Perl.

Fast jedes kleine Webprojekt läuft bei mir zuerst auf einem XAMPP-System. PHPmyAdmin ist für die Datenbankverwaltung bereits vorinstalliert. Eigentlich ist da fast alles vorinstalliert. Einfach installieren und laufen lassen. XAMPP erfüllt bei mir den Zweck als Testserver voll und ganz.

Schlusswort

Obwohl ein Programm die Funktionen von zwei anderen Programmen ablösen könnte (z.B. Eclipse), verwende ich mehr Programme, da mir die Entwicklungsumgebung(en) komfortabel erscheinen soll.

Was für Software verwendet ihr fürs Programmieren? Gibt es welche die für mich empfehlenswert sind?

comments: 0 »

Meine Projekte – Stand der Dinge

Posted on 10th September 2007 in Allgemein, Java, MySQL, PHP, Projekt, Web Development

Wie sieht es nun eigentlich aus mit meinen Projekten? Wie weit bin ich? Was hab ich schon?

Nun ja, fertig ist noch nichts :D

So gut wie es geht, versuche ich ständig an den Projekten weiter zu arbeiten. Aber nun ab zu den wesentlichen News.

CMS

Das Datenbankmodell für das CMS habe ich fertig gestellt. Obwohl nur die wichtigsten Tabellen einbezogen wurden, ist das ERM bereits so gross, dass das Modell auf meinem kleinen 15 Zoll Bildschirm gar nicht ganz angezeigt werden kann. Das ERM soll auch in Zukunft mit neuen Tabellen beschmückt werden, damit viele coole Funktionen programmiert werden können.

Neben dem ERM hab ich auch bereits einige PHP-Funktionen deklariert, und ein paar von denen auch schon implementiert. Natürlich wird es noch ein Weilchen dauern bis ich mal einen ersten Release machen kann, aber ich wills ja so gut wie möglich machen, also SQL-Injections usw. unbedingt verhindern.

Höchstwahrscheinlich werde ich nach dem ich das erste CMS veröffentlicht habe ein Framework freigeben, welches auch sorgfältig dokummentiert wird, damit man (falls überhaupt jemand) möglichst bequem neue Websites gestalten und coden kann. Erwartet aber nichts weltbewegendes, ich weiss selber nicht genau wie toll es schlussendlich sein wird. Ich versuche das beste daraus zu machen.

Spider / Webcrawler

Bei meinem Webcrawler habe ich mir des öfteren den Kopf zerbrochen. Ich bin der Sprache Java nicht so mächtig und es kam daher oft zu verbalen Auseinandersetzungen zwischen mir und meinem Laptop *g* (Sorry, ich spinn ein bisschen). Aber ich war stärker als Java und konnte es besiegen :D .
Im Moment kann mein Webcrawler nur Webseiten nach Links durchsuchen und diese anschliessend zusammenstellen. Damit nicht ewig gecrawlt wird, und da ich keinen Highend-Server besitze, der die die Leistung hat alles mit einem Fingerschnippsen abzuarbeiten, habe ich sogar eine kleine Performance-Option implementiert :D . Es kann bestimmt werden, wieviele Ebenen tief (sprich: wie oft darf der Crawler Hyperlinks in Hyperlinks sucht) gecrawlt werden soll.

Auch hier werde ich vermutlich den Quellcode zur Verfügung stellen. Am besten nur das Grundgerüst, da man auf diesem einfacher was aufbauen kann. Naja, mal schauen wie es heraus kommt.

Sonstiges

Für das Zeiterfassungs-Projekt habe ich leider keine Zeit gefunden. Wahrscheinlich habe ich dies bewusst getan, da ich dieses Projekt auf mein CMS aufbauen werde.

In den Themen, die ich hier behandle sehe ich mich noch lange nicht als Spezi und bin dafür immer bereit Finger & Hirn zu opfern.

Gerade fällt mir auch ein, dass evtl. die Tools, die ich verwende, interessant sein könnten. Aber das hat bis zum nächsten Post Zeit.

Bis dahin, have fun ;)

comments: 2 »

Wörter zählen mit Java

Posted on 4th September 2007 in Java

Beim Programmieren meines Webcrawlers/ Spider musste ich herausfinden wie oft eine Zeichenfolge in einem Quellcode vor kommt. Dabei vermisste ich eine Methode, die mir diese Anzahl angibt. Eine Lösung hab ich gefunden, welche ich euch nicht vorenthalten will.

Das Beispiel wird mit einer Textdatei “woerter.txt” gemacht, in der ich das Wort “Java” zählen und ganz einfach ausgeben will.

Hier die Textdatei “woerter.txt”



Wie geht es euch? Ich bin grad dran was in Java zu programmieren.

Es handelt sich um einen Webcrawler. Dieser wird mit Java und MySQL kombiniert.

Ich denke Java kann diese Aufgabe gut loesen.

Nun müssen wir im Java-Programm die Datei “woerter.txt” öffnen. Im folgenden Quellcode sind alle benötigten Variablen deklariert. Es wird auch die Datei “woerter.txt” geöffnet und eine While-Schlaufe gestartet, die pro Schlaufendurchgang eine Linie in die Variable “line” einliest. Click here to read more.. »

comments: 1 »