IT-Academy Logo
Sign Up Login Help
Home - Programmieren - PHP - PHP5 Grundlagen



PHP5 Grundlagen

Eine kleine Zusammenfassung der wichtigsten PHP5 Sprachelemente zum schnellen Nachschlagen.


Autor: Patrick Bucher (paedubucher)
Datum: 05-11-2005, 13:43:59
Referenzen: keine
Schwierigkeit: Anfänger
Ansichten: 7425x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]





PHP5 - Grundlagen

Grundlagen

PHP ist ein rekursives Akronym und bedeutet „PHP Hypertext Preprocessor“

PHP in HTML einbetten

Programmcode wird mit dem Tag -->?php eingeleitet und mit dem Tag ?<-- abgeschlossen. Der gesamte Code zwischen diesen beiden Tags wird als PHP-Programmcode interpretiert. Es dürfen mehrere solche Codeteile in einer Datei vorkommen.

Variablen

Variabeln müssen in PHP nicht deklariert werden. Diese werden bei der Zuweisung automatisch deklariert und benötigen auch keine Datentypangabe. Variabelnamen dürfen aus Zahlen, Ziffern und dem Underscore (_) bestehen und beginnen immer mit einem $-Zeichen.

Datentypen

Datentyp

Erklärung

Beispiel

Integer

Zuweisung einer ganzen Zahl

$ganze_zahl = 5;

Oktalzahl

Zuweisung einer Zahl im Oktalsystem, mit 0 beginnend

$oktal_zahl = 0123;

Hexadezimalzahl

Zuweisung einer Hexadezimalzahl, mit 0x beginnend

$hex_zahl = 0x123;

Double

Zuweisung einer Gleitpunktzahl

$double_zahl = 4.55;

String

Zuweisung einer Zeichenkette, diese muss in Anführungszeichen stehen

$text = “Prozess“;

Boolean

Zuweisung eines logischen Zustandes, nur true oder false möglich

$ok_flag = true;
$ok_flag = false;


Konstanten

Konstanten können nur einmal geschrieben und danach nicht mehr verändert werden. Die Namen beginnt ohne führendes $-Zeichen, Grossschreibung ist zu empfehlen. Syntax:

define(“NAME“,Wert);

Anwendungbeispiel:

define(“FOOBAR“, 123); // Definition
echo(FOOBAR); // Ausgabe

Kommentare

Einzelne Zeilen werden mit führendem # oder // kommentiert. Kommentare über mehrere Zeilen beginnen mit /* und endet mit */.


// Kommentarstil 1
# Kommentarstil 2
/* Kommentarstil 3
(über mehrere Zeilen) */

Operatoren

Folgende PHP-Operatoren existieren in C nicht:



Operator

Bedeutung

Beschrieb

.

Verkettungsoperator

Die Strings rechts und links des Operators werden zu einem verkettet

@

Error-Tracker

Wird vor einen Ausdruck gestellt. Erzeugt der Ausdruck einen Fehler, wird dieser nicht ausgegeben

-<--

Zugriffsoperator

Zugriff auf ein Klassenelement



Escape-Sequenzen

Im PHP-Code können reservierte Zeichen nur dann ausgegeben werden, wenn man einen Backslash voranstellt:

echo(“Die Variable \$test beinhaltet $test“);
echo(“-->table border=\”1\”“);

Arrays

Einfaches Array

Arrays beginnen auch in PHP mit dem Index 0. Man kann direkt ohne Deklaration auf die einzelnen Werte zugreifen:

$feld[0] = „foo“;
$feld[1] = „bar“;

Arrays können auch mit der array-Funktion erstellt werden:

$feld = array(0 =<-- „foo“, 1 =<-- „bar“); // Index erhält seinen Wert mit =<--
$feld = array(„foo“, „bar“); // Indizes sind nur optional

mehrdimensionale Arrays

Arrays können wie in C auch mehrere Dimensionen besitzen:

$feld[0][0] = „links oben“;
$feld[0][1] = „links unten“;
$feld[1][0] = „rechts oben“;
$feld[1][1] = „rechts unten“;

Es können nicht nur eine oder zwei, sondern beliebig viele Dimensionen verwendet werden.

assoziative Arrays

Indizes können in PHP nicht nur Ganzzahlen, sondern auch Strings sein:

$feld[„VFI“] = „ein Prozess“
$feld[„BBZS“] = „weiterer Prozess“
$feld = array(„Prozess A“ =<-- „ein Prozess“, „Prozess B“ =<-- „weiterer Prozess“);

Die foreach-Schleife

Assoziative Arrays können nicht mit den herkömmlichen Schleifen durchiteriert werden, dazu wurde die foreach-Schleife geschaffen.

foreach($feld as $element)
echo($element . „-->br /<--“);

Richtig interessant wird die foreach-Schleife erst dann, wenn man sie mit mehrdimensionalen assoziativen Arrays verwendet:

$personen = array(
„person1“ =<-- array(
„Vorname“ =<-- „Max“,
„Nachname“ =<-- „Mustermann“,
),
„person2“ =<-- array(
„Vorname“ =<-- „Otto“,
„Nachname“ =<-- „Normalverbraucher“,
)
);

foreach($person as $person_key =<-- $temp_person)
{
// $person_key enthält „person1“, danach „person2“
// $temp_person enthält die Attribute der aktuellen Person
foreach($temp_person as $pers_attrib)
{
// $pers_attrib enthält nun die einzelnen Attribute (Vorname, Nachname)
}
}

Eigene Funktionen

Definition

Die Deklaration erfolgt wie in C, nur dass man am Anfang das Schlüsselwort function angeben muss und dafür den Rückgabetyp völlig weglassen kann:

function [Name]([Parameter 1], …, [Parameter n])
{
[Anweisungen];
return [Rückgabewert];
}

Wert- und Referenzübergabe

Ein Parameter kann als Wert (standardmässig) oder als Referenz übergeben werden. Dies kann sowohl auf der Parameterliste, wie auch beim Aufruf definiert werden, indem man den &-Operator vor den Parameter stellt:

function foo($arg1, $arg2) {…} // normale Wertparameter
function bar(&$arg1, &$arg2) {…} // Referenzübergabe

Die Funktion foo kann auch so aufgerufen werden, dass sie die Parameter als Referenz erhält:

$prozess = foo(&$referenz, $wert);

optionale Parameter

Man kann einem Parameter auch einen Standardwert zuweisen, sodass dieser nicht zwingend übergeben werden muss:

function foobar($zwingend, $optional = 55) {...}

PHP-Funktionen

String-Funktionen

Funktionskopf

Erklärung

echo($text)
print($text)

Gibt den Inhalt des Strings $text aus

strchr($gesamt, $suche)
strrchr($gesamt, $suche)

$suche wird in $gesamt gesucht, es wird der Rest des Strings ab der ersten Übereinstimmung mit $suche zurückgegeben

strrchr durchsucht den String rückwärts

strtr($gesamt, $alt, $neu)
str_replace($gesamt, $alt, $neu)

Ersetz das Zeichen $alt im String $gesamt durch $neu

str_replace ersetzt ganze Strings

strlen($text)

Gibt die Anzahl Zeichen vom String $text zurück

explode($x, $text)
implode($x, $feld)

$text wird in ein Array umgewandelt, Trennung bei $x

implode macht dies wieder rückgängig

strtoupper($text)
strtolower($text)

$text wird in Gross- bzw. Kleinbuchstaben umgewandelt



Mathematik

Funktionskopf

Erklärung

bcadd($a, $b[, $sign])
bcsub($a, $b[, $sign])
bcmul($a, $b[, $sign])
bcdiv($a, $b[, $sign])
bcmod($a, $b[, $sign])

Die Funktion addiert/subtrahiert/multipliziert/dividiert $a und $b mit der Genauigkeit $sign und gibt das Ergebnis zurück (bcmod ermittelt den Rest).

bccomp($a, $b[, $sign])

Die Funktion vergleicht die Zahlen $a und $b auf $sign signifikante Stellen. Ist $a grösser als $b, wird 1 zurückgegeben. Wenn $a kleiner als $b ist, wird -1 zurückgegeben. Sind die beiden Zahlen gleich, wird 0 zurückgegeben.

bcpow($zahl, $n[, $sign])

$zahl wird hoch $n gerechnet, das Ergebnis wird dann zurückgegeben.

bcsqrt($zahl[, $sign])

Es wird die Quadratwurzel von $zahl gezogen und zurückgegeben.

bcscale($sign)

Alle bc-Funktionen arbeiten mit der Genauigkeit $sign, ausser wenn für die jeweilige Funktion etwas anderes übergeben wird.



Datum

Funktionskopf

Erklärung

getdate()
getdate
($datum)

Gibt ein assoziatives Array mit aktuellen Datumsinformationen zurück, es kann auch ein Datum übergeben werden.

date($format)

Gibt das atkuelle Datum formatiert anhand des übergebenen Formatstrings $format zurück.

checkdate
($m, $d, $y)

Überprüft das Datum $m (=Monat), $d (=Tag) $y (=Jahr) auf korrektheit und gibt entsprechenden Boolean zurück.

strtotime
($datum)

Wandelt den String $datum in einen Timestamp um, $datum muss folgendes Format haben: „[Tag] [engl. Monatsbezeichnung] [Jahr]“



Das assoziative Array, das von getdate() zurückgegeben wird, hat folgende Keys:

Key

hours

mday

minutes

mon

month

Value

Stunden 24h-Format

Monatstag

Minute in der Stunde

Monat als Zahl

Monatsname engl.



Key

seconds

wday

weekday

yday

year

0

Value

Sekunde

Wochentag (0=Sonntag, ...)

Wochentag engl.

Tag des Jahres

Jahr

Tiemstemp



Array

Funktionskopf

Erklärung

count($feld)

Gibt die Anzahl Arrayelemente von $feld zurück

in_array($element, $feld)

Die Funktion prüft, ob $element in $feld vorhanden ist und gibt in diesem Fall true zurück.

array_unshift($feld, $x)

Das Element $x wird am Anfang des Arrays $feld angehängt

array_shift($feld)

Entfernt das erste Element des Arrays $feld

array_push($feld, $x)

Das Element $x wird am Ende des Arrays $feld angehängt

array_pop($feld, $x)

Entfernt das letzte Element des Array $feld

array_pad
($feld, $n, $element)

Dem Array $feld werden $n positionen angefügt. Ist $n positiv, so werden diese Elemente am Ende von $feld angefügt, sonst vorne.

Es wird jeweils $element angefügt.

array_slice
($feld, $pos, $n)

Die Funktion gibt $n Arrayelemente ab $pos vom Array $feld zurück.

array_splice
($feld, $pos, $n, $new)

Ersetzt $n Elemente ab $pos im Array $feld mit dem Element $new. Lässt man $new weg, so werden die Elemente einfach gelöscht.

array_values($feld)
array_keys($feld)

Lies die werte aus dem assoziativen Array $feld und gibt diese als neues Array zurück, array_keys gibt die Schlüssel zurück.

array_flip($feld)

Im assoziativen Array $feld werden die Werte und die Schlüssel vertauscht.

array_reverse($feld)

Gibt das Array $feld in umgekehrter Reihenfolge zurück.

array_merge
($feld1, $feld2, $feldn)

Gibt die übergebenen Arrays $feld1..$feldn als ein Array zurück.

sort($feld)
rsort($feld)

Das Array $feld wird alphabetisch sortiert, rsort macht das selbe in absteigender Reihenfolge

asort($feld)
arsort($feld)

Sortiert das assoziative Array $feld, Beziehung zwischen Key ond Value bleiben erhalten, arsort sortiert mit absteigender Reihenfolge.

ksort($feld)

Das assoziative Array $feld wird nach dem Index sortiert.



Sonstige Funktionen

Funktionskopf

Erklärung

include($dateiname)

Kopiert den Inhalt aus der Datei mit dem Namen $dateiname an die aktuelle Position

OOP

Das Objektmodell wurde für PHP5 völlig umgekrämpelt, es existieren grosse Unterschiede zu PHP4.

Klassendefinition

Eine Klasse wird deklariert, indem man das Schlüsselwort class und den Klassennamen angibt. Der Klassenname untersteht den gleichen Benennungskriterien wie normale Variablen, nur dass er nicht mit einem $-Zeichen beginnt.

class Prozess
{
// Implementierung
}

Eigenschaften

Eigenschaften müssen im Gegensatz zu normalen Variablen deklariert werden. Dazu verwendet man ein beliebiges Schlüsselwort für die Sichtbarkeit (private, protected oder public) gefolgt vom Variablennamen:

public $foo;
protected $bar;
private $prozess;

Methoden

Die Definition einer Methode erfolgt gleich wie die Definition einer normalen Funktion, man kann jedoch optional auch deren Sichtbarkeit definieren, es stehen die selben Schlüsselwörter wie bei den Eigenschaften zur Verfügung.

Wenn keine Sichtbarkeit angegeben ist, so wird die Methode automatisch public.

Konstruktor und Destruktor

Beim Instanzieren einer Klasse wird automatisch deren Konstruktor aufgerufen. Konstruktoren werden in PHP wie folgt deklariert:

function __construct([Parameterliste]) {…}

Der Funktionsname setzt sich aus zwei(!) Underscores und dem Wort „construct“ zusammen.

Um Aufräumarbeiten beim Zerstören einer Instanz erledigen zu können, kann auch optional ein Destruktor definiert werden:

function __destruct() {…}

Im Gegensatz zum Konstruktor können beim Destruktor keine Parameter übergeben werden.

Vererbung

Vererbung wird in PHP mit dem Schlüsselwort extends bewerkstelligt, welches bei der Klassendefinition angegeben wird:

class Fussball extends Ball {…}

Somit hat man innerhalb der Klasse Fussball Zugriff auf alle Elemente der Klasse Ball, die mit dem Schlüsselwort protected oder public deklariert wurden.

Instanzierung

Um eine Instanz aus einer Klasse zu bekommen, verwendet man das Schlüsselwort new.

$instanz = new Klasse([Konstruktor-Parameter]);

Zugriff auf Methoden und Eigenschaften innerhalb der Klasse

Damit man in einer Klasse auf deren Elemente zugreifen kann, wird das Schlüsselwort this verwendet:

class Fussball
{
private $bezeichnung;
public getBezeichnung()
{
return $this-<--bezeichnung; // kein $ vor der Eigenschaft
}
}





[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0