Difference between revisions of "PHP Einführung - Erste Programmierschritte"

From Coders.Bay Wiki
Jump to navigation Jump to search
 
(17 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Um ein PHP Programm ausführen zu können, benötigt man einen lokalen Webserver.
Um ein PHP Programm ausführen zu können, benötigt man einen lokalen Webserver.
Hierfür installiert man meistens XAMPP (für Mac User: MAMP) auf dem PC.
Hierfür installiert man meistens XAMPP (für Mac User: MAMP) auf dem PC.
'''Coding Standards für das Arbeiten mit PHP:'''
*https://www.php-fig.org/psr/psr-1/


Links zum Download:
Links zum Download:
Line 18: Line 22:


====Dein erstes PHP Programm====
====Dein erstes PHP Programm====
*PHP wird geöffnet mit '''<?php und geschlossen mit '''?>'''
*Erstelle eine '''.php''' Datei
*PHP wird geöffnet mit '''<?php und geschlossen mit ?>'''
*Dazwischen ist der Programmcode
*Dazwischen ist der Programmcode
*'''print''' oder '''echo''' erzeugt eine Ausgabe am Bildschirm
*'''print''' oder '''echo''' erzeugt eine Ausgabe am Bildschirm
Line 143: Line 148:
====Variablen====
====Variablen====


*Zeichenketten und Variablen können in einem ausgegeben werden.
*Zeichenketten und Variablen können zusammen ausgegeben werden.
*In JS trennt man sie mit einem Plus (+)
*In JavaScript, Java,... fügt man sie mit einem Plus zusammen (+)
*In PHP trennt man sie mit einem Punkt (.)
*In PHP fügt man sie mit einem Punkt zusammen (.)
*Additionen, Multiplikationen, Divisionen funktionieren im gleichen Schema wie in JS
*Additionen, Multiplikationen, Divisionen, Modulo funktionieren im gleichen Schema wie in anderen Programmiersprachen


<pre>
<pre>
<?php
<?php
/* Variablen werden mit einem Dollarzeichen gekennzeichnet  
/* Variablen werden mit einem Dollarzeichen gekennzeichnet, und folgen der camelCase Schreibweise
Variablennamen dürfen keine Sonderzeichen enthalten */
Variablennamen dürfen keine Sonderzeichen enthalten */


// Text mit einer Variablen erfassen
// Text mit einer Variablen erfassen
$textbaustein = "Meine erste Variable";
$textContent= "Meine erste Variable";
print $textbaustein;
print $textContent;




// Zahlen als Variable abspeichern
// Zahlen als Variable abspeichern
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
$ganzeZahl = 3;
$int= 3;
$kommaZahl = 5.39281;
$float= 5.39281;
$boolean = true;
$boolean = true;
print "Ganze Zahl: " . $ganzeZahl . "<br>Kommazahl: " . $kommaZahl . "<br>Boolean: " . $boolean;
print "Ganze Zahl: " . $int. "<br>Kommazahl: " . $float. "<br>Boolean: " . $boolean;
 


// Additionen, Multiplikationen, usw
// Additionen, Multiplikationen, usw
$bestand = 5;
$inStore= 5;
print "<p>Verfügbare Artikel: " . $bestand . "</p>\n";
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";
$bestand = $bestand - 1;
$inStore= $inStore - 1;
/* Kurzschreibweise: $bestand--; */
/* Kurzschreibweise: $inStore--; */
print "<p>Verfügbare Artikel: " . $bestand . "</p>\n";
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";
 
?>
</pre>
 
====Numerisches Array====
<pre>
<?php
/* Array deklarieren */
$product = array();
$product[0] = 1;
$product[1] = "Roggensemmel";
$product[2] = 0.79;
$product[3] = "Bioweckerl vom feinsten";
$product[4] = 50;
 
foreach($product as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}
?>
 
<hr>
 
<?php
/* oder: kürzere Schreibweise */
$productAlternative = array(1, "Roggensemmel", 0.79, "Bioweckerl vom feinsten", 50);
 
foreach($productAlternative as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}
 
 
// Einzelnen Wert ausgeben
print "<p>" . $product[4] . "</p>\n";
?>
</pre>
 
 
====Assoziatives Array====
 
<pre>
<?php
/* Array deklarieren */
$product = array();
$product['itemnumber'] = 1;
$product['productname'] = "Roggensemmel";
$product['price'] = 0.79;
$product['description'] = "Bioweckerl vom feinsten";
$product['amount'] = 50;
foreach($product as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}
?>
 
<hr>
 
<?php
/* Alternative Schreibweise */
$productAlternative = array(
  'itemnumber' => 1,
  'productname' => "Roggensemmel",
  'price' => 0.79,
  'description' => "Bioweckerl vom feinsten",
  'amount' => 50
);
 
foreach($productAlternative as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}
 
 
// Array Ausgabe einzelnen Wertes
print "<p>" . $productAlternative["price"] . "</p>\n";
?>
</pre>
 
====Mehrdimensionales Array====
 
<pre>
<?php
/* Array deklarieren */
$productRange= array();
$productRange[0]['itemnumber'] = 1;
$productRange[0]['productname'] = "Roggensemmel";
$productRange[0]['price'] = 0.79;
$productRange[1]['itemnumber'] = 2;
$productRange[1]['productname'] = "Kornspitz";
$productRange[1]['price'] = 0.59;
$productRange[2]['itemnumber'] = 3;
$productRange[2]['productname'] = "Semmel";
$productRange[2]['price'] = 0.99;
 
/* Debugging mit var_dump um zu sehen was in dem Array drin ist */
var_dump($productRange);
print "<hr>";
 
/* Ausgabe einzelner Position */
print "<p>" . $productRange[2]['productname'] . "</p>\n";
print "<hr>";


/* Ausgabe des gesamten Arrays */
foreach($productRange as $array) {
  foreach($array as $key => $entry) {
    print "<p>" . $key . ": " . $entry . "</p>\n";
  }
}
?>
?>
</pre>
</pre>

Latest revision as of 09:54, 10 January 2023

Vorbereitungsmaßnahmen für das lokale Programmieren mit PHP[edit]

Um ein PHP Programm ausführen zu können, benötigt man einen lokalen Webserver. Hierfür installiert man meistens XAMPP (für Mac User: MAMP) auf dem PC.


Coding Standards für das Arbeiten mit PHP:

Links zum Download:


XAMPP oder MAMP installieren

  • Den Apache Webserver starten
  • Speichert eure PHP Dateien in einen Projektordner im htdocs Verzeichnis
  • Damit ihr eure PHP Dateien ansehen könnt, navigiert im Webbrowser zu localhost/HIER_DER_NAME_DEINES_ORDNERS

Screenshot-xampp.png


Dein erstes PHP Programm[edit]

  • Erstelle eine .php Datei
  • PHP wird geöffnet mit <?php und geschlossen mit ?>
  • Dazwischen ist der Programmcode
  • print oder echo erzeugt eine Ausgabe am Bildschirm
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="UTF-8">
    <title>Mein erstes PHP Programm</title>
  </head>
  <body>
    <p>
      <?php
      // Zeichenkette
      print "Hallo Welt";
      echo "Hallo Welt";
      ?>
    </p>
    <p>
      <?php
      // Zahl
      print 255;
      ?>
    </p>
    <p>
      <?php
      // Zahl als String
      print "500";
      ?>
    </p>
    <p>
      <?php
      // Rechnen
      print 50*37;
      ?>
    </p>
  </body>
</html>

PHP und HTML miteinander verbinden[edit]

  • Schaut euch an wie der Seitenquelltext im Browser dazu aussieht.
Beispiel 1[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    print "<h1>Willkommen</h1>";
    ?>
  </body>
</html>
Beispiel 2[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    print "<h1>Willkommen</h1>";
    print "<p>1. Absatz</p>";
    print "<p>2. Absatz</p>";
    ?>
  </body>
</html>
Beispiel 3[edit]
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Übung</title>
  </head>
  <body>
    <?php
    // \n hat keine Auswirkung auf die Darstellung im Browser. Bewirkt aber einen Zeilenumbruch im Quellcode
    print "<h1>Willkommen</h1>\n";
    print "<p>1. Absatz</p>\n";
    print "<p>2. Absatz</p>\n";
    ?>
  </body>
</html>
Beispiel 4[edit]
<!DOCTYPE html>
<html>
  <head>
  <?php
    print "<meta charset=\"UTF-8\">\n";
    print '<meta name="description" content="Beschreibung der Seite">';
    print "\n";
    print "<meta name='author' content='Beschreibung der Seite'>\n";
    ?>
    <title>Übung</title>
  </head>
  <body>
  <h1>Willkommen</h1>
  <?php
    print "<p>1. Absatz</p>\n";
    print "<p>2. Absatz</p>\n";
    ?>
  </body>
</html>


Variablen[edit]

  • Zeichenketten und Variablen können zusammen ausgegeben werden.
  • In JavaScript, Java,... fügt man sie mit einem Plus zusammen (+)
  • In PHP fügt man sie mit einem Punkt zusammen (.)
  • Additionen, Multiplikationen, Divisionen, Modulo funktionieren im gleichen Schema wie in anderen Programmiersprachen
<?php
/* Variablen werden mit einem Dollarzeichen gekennzeichnet, und folgen der camelCase Schreibweise
Variablennamen dürfen keine Sonderzeichen enthalten */

// Text mit einer Variablen erfassen
$textContent= "Meine erste Variable";
print $textContent;


// Zahlen als Variable abspeichern
/* Variablen können neben Strings auch numerische oder boolsche Werte besitzen */
$int= 3;
$float= 5.39281;
$boolean = true;
print "Ganze Zahl: " . $int. "<br>Kommazahl: " . $float. "<br>Boolean: " . $boolean;


// Additionen, Multiplikationen, usw
$inStore= 5;
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";
$inStore= $inStore - 1;
/* Kurzschreibweise: $inStore--; */
print "<p>Verfügbare Artikel: " . $inStore. "</p>\n";

?>

Numerisches Array[edit]

<?php
/* Array deklarieren */
$product = array();
$product[0] = 1;
$product[1] = "Roggensemmel";
$product[2] = 0.79;
$product[3] = "Bioweckerl vom feinsten";
$product[4] = 50;

foreach($product as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}
?>

<hr>

<?php 
/* oder: kürzere Schreibweise */
$productAlternative = array(1, "Roggensemmel", 0.79, "Bioweckerl vom feinsten", 50);

foreach($productAlternative as $productInfo) {
  print "<p>" . $productInfo. "</p>\n";
}


// Einzelnen Wert ausgeben
print "<p>" . $product[4] . "</p>\n";
?>


Assoziatives Array[edit]

<?php
/* Array deklarieren */
$product = array();
$product['itemnumber'] = 1;
$product['productname'] = "Roggensemmel";
$product['price'] = 0.79;
$product['description'] = "Bioweckerl vom feinsten";
$product['amount'] = 50;
foreach($product as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}
?>

<hr>

<?php
/* Alternative Schreibweise */
$productAlternative = array(
  'itemnumber' => 1,
  'productname' => "Roggensemmel",
  'price' => 0.79,
  'description' => "Bioweckerl vom feinsten",
  'amount' => 50
);

foreach($productAlternative as $key => $info) {
  print "<p>" . $key . ": " . $info . "</p>\n";
}


// Array Ausgabe einzelnen Wertes
print "<p>" . $productAlternative["price"] . "</p>\n";
?>

Mehrdimensionales Array[edit]

<?php
/* Array deklarieren */
$productRange= array();
$productRange[0]['itemnumber'] = 1;
$productRange[0]['productname'] = "Roggensemmel";
$productRange[0]['price'] = 0.79;
$productRange[1]['itemnumber'] = 2;
$productRange[1]['productname'] = "Kornspitz";
$productRange[1]['price'] = 0.59;
$productRange[2]['itemnumber'] = 3;
$productRange[2]['productname'] = "Semmel";
$productRange[2]['price'] = 0.99;

/* Debugging mit var_dump um zu sehen was in dem Array drin ist */
var_dump($productRange);
print "<hr>";

/* Ausgabe einzelner Position */
print "<p>" . $productRange[2]['productname'] . "</p>\n";
print "<hr>";

/* Ausgabe des gesamten Arrays */
foreach($productRange as $array) {
  foreach($array as $key => $entry) {
    print "<p>" . $key . ": " . $entry . "</p>\n";
  }
}
?>