Guten Tag,
ich beschäftige mich schon eine Weile mit der Scriptsprache / Programmiersprache „PHP“.
In der Zeit habe ich viel Erfahrung gemacht. Deswegen möchte ich Sie etwas näher der Programmiersprache
näher bringen.
Was bedeutet OOP?
OOP bedeutet in der Programmierung: „Objektorientierte Programmierung“.
Warum OOP?
Ein kleiner Zitat aus Wikepedia:
Zitat
Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin, die Architektur einer Software an den Grundstrukturen desjenigen Bereichs der Wirklichkeit auszurichten, der die gegebene Anwendung betrifft. Ein Modell dieser Strukturen wird in der Entwurfsphase aufgestellt. Es enthält Informationen über die auftretenden Objekte und deren Abstraktionen, ihre Typen. Die Umsetzung dieser Denkweise erfordert die Einführung verschiedener Konzepte, insbesondere Klassen, Vererbung, Polymorphie und spätes Binden.
So, wie erstellen wir eine Klasse?
Eine Klasse wird immer mit dem Schlüsselwort „class“ erzeugt.
Das ist eine minimale gültige Klasse, mehr braucht eine Klasse nicht um zu funktionieren.
Aber zurzeit ist sie Sinnlos, da sie bisher nicht's macht.
Woraus besteht eine Klasse?
Eine Klasse besteht aus Variablen die man als „Attributen“ bezeichnet.
Die Attribute wird so vereinbart von den Modifikatoren, der z.B die Sichtbarkeit der Variable regelt.
Was die Sichtbarkeit ist, darauf werden wir später nochmals aufkommen.
<?php
class Tutorial {
private $username = "Pycck"; //Private bedeutet, dass die Variable nur in der Klasse benutzt werden kann.
}
?>
Der zweite Baustein woraus Klassen bestehen sind die Funktionen bzw. Methoden.
Was ist der Unterschied zwischen einer Methode und einer Funktion?
Es gibt keinen Unterschied zwischen einer Methode und einer Funktion.
Methoden werden in einer Klasse geschrieben und die Funktionen außerhalb der Klasse.
Hier demonstriere ich Ihnen ein Beispiel.
<?php
class Tutorial {
private $username = "Pycck"; //Private bedeutet, dass die Variable nur in der Klasse benutzt werden kann.
function sayUsername() {
}
}
?>
Innerhalb einer Klasse muss vor der Methode immer ein Modifikator.
Wenn kein Modifikator eingesetzt wird, wie jetzt im Fall. Wird die Klasse auf „public“ gesetzt.
Was ist genau der Modifikator „public“?
Public bedeutet nicht's als dass man außerhalb der Klasse auf die Methode zugegriffen kann.
Trotz dessen bietet es sich immer an, den Modifikator vor der Methode zu setzen.
Wenn man schon mit einer Funktion gearbeitet hat, weißt man dass die Funktion auch was zurück geben kann.
Hier ein Beispiel
<?php
class Tutorial {
private name = "Pycck";
public function sayUsername(){
return "Willkommen". $this->name;
}
}
?>
Was passiert jetzt?
Wenn wir die Methode aufrufen würden, würden wir folgendes ausgegeben bekommen:
„Willkommen Pycck“
Die $this Variable?
Die $this Variable bezieht sich immer auf diese Klasse, also wenn wir innerhalb dieser Klasse mit $this arbeiten, greifen wir nur auf diese Klasse zu und auf keine andere!
Man muss sich dass so vorstellen:
$this ist wie ein Zeiger, der z.B auf Attributen zeigt
Kleines Beispiel:
<?php
class Tutorial {
private name = "Pycck";
public function sayUsername(){
return "Willkommen". $this->name; //Hier wird auf die Attribute name gezeigt, siehe oben.
}
}
?>
Wie arbeiten wir mit der Klasse?
Wenn wir mit der Klasse nicht arbeiten würden, hätte dies kein Sinn gemacht.
Eine Klasse muss auch seinen zweck erfüllen.
Was ist das Schlüsselwort „new“?
Mit new erstellen wir eher ein Objekt außerhalb der Klasse, damit man auf die Klasse zugreifen kann.
Wir haben z.B die Variable $tut und wollen dass sie die Klasse „Tutorial“ übernimmt. Und das funktioniert genau mit dem Schlüsselwort „new“.
Wie arbeite ich genau mit der Klasse?
In dem Falle eine Funktion aufrufen
<?php
require_once 'class.user.php';
$userdata = new Tutorial();
echo $userdata->sayUsername();
?>
Wir würden jetzt folgendes zurück bekommen: „Willkommen Pycck“
Wir sagen jetzt zu $userdata dass sie die Methode sayUsername() aufrufen soll. (Mit dem ->, gleicher Prinzip wie bei $this (siehe oben)).
Das Tutorial wird spätesten's morgen komplett sein.
Bis dahin, viel Glück!
Mit freundlichen Grüßen,
Mark alias. Meikel