PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hawkins' PHP Beginner Guide



Hawkins
14.08.2010, 09:13
Moins,

da viele ja denken sie könnten mit PHP gut umgehen, es aber eigentlich nicht können, habe ich für alle die PHP kennen und es lernen wollen einen Guide zusammen geschrieben. Wenn immer Fragen bestehen könnt ihr mich per PM mit dem Betreff PHP Guide (WICHTIG!) kontaktieren.

Schon gehts los!

Chapter 1: Variablen


#1: Einleitung

Variablen können zum temporären Speichern von Daten benutzt werden. Die Informationen bestehen aus Nummern (Integers) oder Texstausschnitten (Strings), können aber auch Wahr/Falsch abfragen (booleans) oder auch Datensätze (arrays) sein.

Alles was in PHP geschrieben wird, wird in eine Variable gespeichert

#2: Variablen Erstellen:

Eine Variable, die auch declar(ation) genannt wird, fängt mit dem US-Dollar zeichen "$" an und darauf folgen dann bestimmte Funktionen. Mit dem "=" Zeichen wird einer Variable eine Zahl zugeordnet. Am Ende wird die Zeile mit einem ";" Beendet.



<?php
$text = 'Hello World!';
echo $text;
?>
In diesem Teil des Codes wird die Variable "$text" benutzt und die Value "Hello World!" hinzugefügt. Als nächstes wird das Echo benutzt, was dann die Anzahl angibt.

Heraus kommt folgendes:



Hello World!#3: Verschiedene Typen von Variablen

Wie ich oben schon gesagt habe, können wir alles in einer PHP Variable speichern. Abhängig vom Inhalt bekommt ihr nen bestimmten Output.

Beispiel:



<?php
$text = 'Hello World!'; // String
$age = 28; // Integer
$price = 190.75; // Float
$check = false; // Boolean
?>Dies sind nur wenige Beispiele für eine Variable. Die erste Variable "$text" habe ich euch bereits gezeigt. Wenn ihr eine Zahl in einer Variable speichern macht ihr es mit einem "integer" und einem "float" wenn ihr eine Dezimalzahl habt. Wenn ihr eine Wahr-Falsch abfrage machen wollt benutzt ihr den "boolean". Eine bestimmte Form der Variable ist der "array", den zeige ich euch aber später.


#4: Mit Variablen arbeiten

Ich habe euch auch schon gezeigt, das wir Variablen Wiederholen können, das war aber noch längst nicht alles. Mit Variablen rechnen wird sehr oft genutzt.

Beispiel:



<?php
$amout = 10;
$price = 9.95;
$btw = 0.19; // 19%

$subtotal = $amout * $price; // Calculate subtotal
echo 'Subtotal: '.$subtotal.'
';

$aBtw = $subtotal * 0.19; // aBtw = After BTW Calculate BTW
$total = $subtotal + $aBtw; // Calculate Total
echo 'Total: '.$total;
?>Ihr bekommt heraus:


Subtotal: 99.5
Total: 118.405Das wars fürs erste mit Variablen, nun gehen wir zur "if-Funktion".


Chapter 2: Die If - Funktion


#1: Einleitung

In PHP ähnelt die If-Funktion ziehmich derer anderer Programmiersprachen, wie zB C++ oder VB und gehört damit zu einer der Wichtigsten Funktionen

Die If-Funktion lässt sich an einem einfachen Englischen Beispiel erklären:


If you have something to do the next day, say go to work, school, or an appointment,
then you will set your alarm clock to wake up.
Otherwise, you will sleep in as long as you like!Das ist die einfachste Form die If-Funktion zu erklären. Immer wenn ihr die If-Funktion verwendet, muss ein Then darauf folgen.


#2: Arbeiten mit der If-Funktion


Es gibt viele Möglichkeiten die If-Funktion zu benutzen, beispielsweise für Happy Birthday oder auch für die Begrüßung nach einem Login.

Ich werde euch die If-Funktion anhand der Begrüßung näher bringen.

Erst werden die Grundinformationen included:


$my_name = 'Hawkins'Als nächstes folgt die Abfrage:


if ( $my_name == 'Hawkins' ) {
echo 'Your name is Hawkins!';
}Zuletzt dann noch das Echo:


echo 'Welcome to my homepage!';Als Output haben wir dann:


Your name is Hawkins!
Welcome to my homepage! Dies ist die eine Seite der If-Funktion, natürlich gibts auch noch eine andere.

Als erstes wieder Grundinformationen includen:


$my_name = 'Hawkins'; Abfrage:


if ( $my_name == 'Peter' ) {
echo 'Your name is Peter!';
}Echo:


echo 'Welcome to my homepage!';Diesmal bekommt ihr:


Welcome to my homepage! Diesmal wird nicht euer Name angegeben, da die PHP Abfrage auf einen anderen Namen programmiert wurde.


#3: Erweiterung der If-Funktion

Die Erweiterung der If-Funktion besteht aus dem Simplen Wort &quot;else&quot;. Dieses Wort erlaubt euch, euer If-Funktion eine weitere Möglichkeit hinzu zufügen.

Ich gebe euch ein Beispiel, anhand einer Lotterie:



$number_three = 3; // Declare von Informationen

if ( $number_three == 3 ) {
echo 'The if statement evaluated to true'; //Abfrage ob Richtig
} else {
echo 'The if statement evaluated to false';// Abfrage 2. Möglichkeit, hier in dem Fall Falsch
}Wenn die Zahl dann 3 ist, bekommt ihr folgenden Output:


The if statement evaluated to true Jetzt fragt ihr euch bestimmt, was ist wenn die Zahl NICHT 3 ist?


$number_three = 421;

if ( $number_three == 3 ) {
echo 'The if statement evaluated to true';
} else {
echo 'The if statement evaluated to false';
}So fragt ihr nach der Zahl 421, aber bekommt die Zahl 3, also habt ihr folgenden Output:


The if statement evaluated to falseSoweit alles zur If-Funktion, als nächstes erkläre ich euch die Arrays

Chapter 3: Die Arrays

Ein Array ist eine Funktion die mehrere Informationen in einer einzigen Variable speichert.

Manche von euch werden das Array jetzt zum ersten Mal sehen und villeicht auch nicht ganz verstehen, macht nichts ihr werdet es noch verstehen :P

Also, fangen wir an

#1: Einleitung in Arrays

Anhand einem Beispiel erkläre ich euch die Zusammenhänge der Key-Value Struktur des Arrays.
Die Keys sind die Nummern und die Values die Namen der angestellten. Jeder Value wird ein Key zugeordnet (ganz nach dem X zu Y Prinzip)

Die Grundform des Arrays ist:

- $array[key] = value;

Dies solltet ihr euch für die weitere Erklärung der Arrays merken!

#2: Arrays in ihrer Häufigen Benutzung


$employee_array[0] = 'Bob';
$employee_array[1] = 'Sally';
$employee_array[2] = 'Charlie';
$employee_array[3] = 'Clare';

echo 'Two of my employees are'
. $employee_array[0] . ' & ' . $employee_array[1];
echo '
Two more employees of mine are '. $employee_array[2] . ' & ' . $employee_array[3];
Output:

Two of my employees are Bob & Sally
Two more employees of mine are Charlie & Clare Dieses Beispiel würde euch nun Zeigen, welche Leute bei euch in der Firma arbeiten. Der Code ließe sich dann auch einfach beliebig umändern, falls ihr Leute rauswerfen würdet oder neue einstellt.

Soweit wars das mit den Arrays, wie immer Fragen per PM


Chapter 4: Verbinden mit einer Datenbank

Zu der Arbeit von PHP mit Datenbanken gibts nicht viel zusagen. Um mit PHP eine Verbindung zu einer Datenbank aufnehmen zu können, brauchen wir folgenden Code:


<?php
/* Database settings */
$db = array (
'host' => 'localhost', // Hostname
'user' => 'root', // Username
'pass' => '', // Passwort
'dbname' => 'test' // Name der Datenbank
);

/* Connect to database */

# Make connection
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
// Can't connect!
trigger_error('Error while connecting: '.mysql_error());
}
# Select database
elseif(!mysql_select_db($db['dbname']))
{
// Can't connect database!
trigger_error('Error while selecting database: '.mysql_error());
}
else
{
// Connected to database
// ...
// ...
}
?>Credits:
Hawkins
ATLAS (Kleine Korrekturen)

ZeroOwner²
14.08.2010, 11:57
Schön gemacht habs kurz überflogen :) Du solltest allerdigns auch noch den letzten part mit der DB etwas genauer erklären... da jmd mit keiner Ahnung das alles von Grund auf versteht .

pry0
14.08.2010, 12:08
Kurz mal überflogen, aber sieht super aus.
Kannst ja evtl. noch die Zählschleife und die foreach-Schleife erwähnen (da du ja bereits schon die Arrays eingeführt hast, würde das auch gut passen).
Falls du Lust hast, kannst du ja auch noch ein paar Übungsbeispiele machen, um dass ganze zu verdeutlichen.

MfG

blackberry
18.08.2010, 20:31
Um erneut den Unmut der Massen auf mich zu laden tue ich den ersten Schritt und äußere hier mal was anderes als "Daumen hoch - Topp! Habs nur überflogen, finds aber toll!".
Wer mit Kritik nicht umgehen kann, oder sich nicht den Tag vermiesen will kann ja den Spoiler zu lassen.


Die Informationen bestehen aus Nummern (Integers) oder Texstausschnitten (Strings), können aber auch Wahr/Falsch abfragen (booleans) oder auch Datensätze (arrays) sein.
Ein besseres Wort für "Nummern" wäre wohl "Ganzzahlen" (0, 1, -1, 2, -2, ...) - was erstens die richtige Übersetzung wäre und zweitens auch noch besser vermittelt, was mit "Nummern" gemeint sein ist.

Außerdem sollte niemand glauben, dass die obige Aufzählung komplett sei. PHP kennt auch noch Gleitkommazahlen (floats), sowie Objekte (objects) Ressourcen und den NULL-Typ (welcher auch unterschieden wird).


Alles was in PHP geschrieben wird, wird in eine Variable gespeichert
Würde ich gerne was dazu sagen, da ich die Aussage für totalen Unsinn halte, bin mir aber nicht sicher, ob mir da nicht ein tieferer Sinn dahinter entgangen ist.
Beispielsweise in <?php echo "blub"; ?> sehe ich keine Variablen.


US-Dollar zeichen "$" an und darauf folgen dann bestimmte Funktionen. Mit dem "=" Zeichen wird einer Variable eine Zahl zugeordnet. Am Ende wird die Zeile mit einem ";" Beendet.
Bestimmte Funktionen? Funktionen wie in "function blub() { ... }"?
Das mit "=" weist eine Zahl zu ist auch etwas unglücklich formuliert, zumal du doch selber in dem darauf folgenden Beispiel statt einer Zahl einen String zuweist.
Die Sequenztermination durch Semicoli (ich hoffe, das ist der korrekte Plural :S) ist nochmal eine ganz andere Sache und hat mit Variablen nichts zu tun, sondern eher mit der PHP-Syntax im allgemeinen...


Chapter 2: Die If - Funktion
[...]
Die If-Funktion lässt sich an einem einfachen Englischen Beispiel erklären:

Das ist die einfachste Form die If-Funktion zu erklären. Immer wenn ihr die If-Funktion verwendet, muss ein Then darauf folgen.
If ist so ziemlich alles, aber auf keinen Fall eine Funktion. If ist eine Kontrollstruktur (genauso wie switch) und enthält bedingte Anweisungen.

Von einem Then zu reden macht hier auch nicht so viel Sinn (bzw. würde mich als Anfänger wohl nur verwirren), da PHP kein "then"-Keyword kennt (zum Glück wie ich als Liebhaber von geschweiften Klammern sagen würde).

Auch etwas ungünstig finde ich, dass du If (genauso wie echo davor und darin verwendete String-Concatentation) einfach benutzt und nichts weiter erklärst. Was für einen Anfänger vielleicht nicht so einsichtig ist, wäre vielleicht, wieso du hier "==" statt "=" verwendest (oder wieso du überhaupt das so schreibst, wie du es schreibst...).
Entsprechend finde ich den Vergleich von PHP's If zu VB's If dann auch abgesehen von der doch stark unterschiedlichen Syntax besonders hinsichtlich des "==/=" unpassend, da VB ja das IstGleich kontextsensitiv anwendet - d.h. je nach Kontext "=" entweder als Zuweisung, oder als Vergleich einsetzt.

Schön wäre es noch gewesen davor vielleicht allgemein etwas über Wahrheitswerte, Vergleiche und Bool'sche Operatoren in PHP gehört zu haben.


Ein Array ist eine Funktion die mehrere Informationen in einer einzigen Variable speichert.
Nein. Auch hier gilt wieder wie bei If: ein Array ist vieles, aber bestimmt keine Funktion.
Wie auch oben bei den Datentypen aufgeführt wird auch klar: ein Array speichert auch nichts in einer Variablen, ein Array ist selbst eine Variable.

Solltest du dich mit Funktion hier auf das Sprachkonstrukt array() beziehen, so sei gesagt, dass auch dies keine Funktion, sondern - wie gesagt - ein Sprachkonstrukt.
Vielleicht wäre hier auch anzumerken, dass ein Array in PHP kein Array im engeren Sinnne, sondern eher eine (sofern möglich) sortierte map ist. (der Unterschied besteht im wesentlichen darin, dass Arrays eigentlich mit numerischen Indizes arbeiten und Maps auch andere Typen zur Indizierung als Schlüssel zulassen)


Chapter 4: Verbinden mit einer Datenbank

Zu der Arbeit von PHP mit Datenbanken gibts nicht viel zusagen. Um mit PHP eine Verbindung zu einer Datenbank aufnehmen zu können, brauchen wir folgenden Code:
[...]
Da gibt's nicht viel zu sagen... OKAY. Auch hier wieder da Friss-Oder-Stirb-Prinzip: ein wenig Code und keine Erklärung.

Und um noch mal zu dem "da gäbe es nicht viel zu sagen" zurück zu kommen: in Anbetracht der Seite, auf der wir uns hier befinden wäre es doch sicher nicht verkehrt sowas cooles wie "Always sanitize your variables in queries" dem Leser an den Kopf zu knallen.

------------------------------------

Fazit:
Wer richtig PHP lernen will, dem empfehle ich professionelle Tutorials, oder ein Buch.
PHP: A simple tutorial - Manual (http://php.net/manual/en/tutorial.php)

Um desweiteren noch zu guter Letzt zum Anfang des Tutorials zurück zu kommen möchte ich dem:
"da viele ja denken sie könnten mit PHP gut umgehen, es aber eigentlich nicht können"
hinzufügen: jetzt kenne ich zumindest einen.

c4pone
19.08.2010, 09:45
Wenn du schon so nen Satz raushaust ->

da viele ja denken sie könnten mit PHP gut umgehen, es aber eigentlich nicht können,
Solltest du wenigstens auf OOP eingehen und die PDO klasse zeigen /erklären anstadt die php4.0 mysql kacke zu machen :P

gruß c4pone

Skandalooeess
19.08.2010, 10:04
Hm, also ich fands ganz interessant, mal ne kleine Einleitung im PHP zu haben. Programmier sonst immer nur VB6! :)

Also Danke!

Starflow
19.08.2010, 10:10
Mal abgesehen von den Sachen die BlackBerry und c4pone schon erwähnt haben wäre es vllt angebracht gewesen die verwendeten Snippets wenigstens selbst zu schreiben....

Hawkins
20.08.2010, 09:44
Blackberry sehr schöne Kritik lol. Ich hab das z.Teil so geschrieben, wie ich's gelernt hatte. Ich weiß auch das es nicht perfekt ist, ich habs halt verscuht so einfach wie möglich zu erklären. :P