WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- PHP Fümpf

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » PHP Fümpf - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
PHP Fümpf
Manticor
Quasselstrippe
Threadstarter




Beiträge: 240

Hi.

Da PHP5 in dem ersten Final Release vor der Tür steht wollte ich mal Fragen, ob es irgendwo schon gute Erklärungen gibt, was sich den zu den 4er-Versionen alles ändert und wie man es nutzen kann. Z.B. hatte ich mich mit der rudimentären OO-Programmierung der 4er-Versionen auseinandergesetzt und sie gut und einfach verwenden können, nun scheint es aber ein halbes Dutzend verschiedener Spezialobjekte zu geben, deren Sinn sich auf den ersten Blick vermutlich nur Java- und C++-Codern erschließt.
Es gibt zwar eine Seite [*], die einen Teil dieser Änderungen zu erläutern versucht aber so ganz werde ich nicht - vermutlich gerade dadurch, dass die Beispiele so primitiv gehalten sind - daraus nicht schlau.

Also lange Rede, kurzer Sinn. Gibt es irgendwo eine bessere Einführung für Umsteiger PHP4 zu 5?

Danke,
Manti


---

  Profil   Website   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Ich empfehle dir auf jeden Fall mal einen Blick auf die Seite von den Entwicklern der Zend Engine: http://www.zend.com/zend/php5/

Die meisten Änderungen sind, wie du schon ansprichst, aus JAVA, C++ und anderen OOP Sprachen schon bekannt...

Außerdem empfiehlt sich die try'n'error methode, indem man einfach mal mit der beta4 seine Anwendungen testet...

  Profil   Editieren   Zitieren
Manticor
Quasselstrippe
Threadstarter




Beiträge: 240

Danke für die rasche Antwort. Allerdings liegt ja gerade das Problem darin, dass ich weder Java noch C++ beherrsche und dass mir dann z.B. "abstract" nicht wirklich viel sagt. Die Beispiele von Zend und PHP nutzen meist das einfachst denkbare Modell, um die Bedeutung zu erläutern, wodurch zwar die Syntax, aber nicht der Sinn offenbar wird.

---

  Profil   Website   Editieren   Zitieren
slackerbitch
Otto-Normal-Poster




Beiträge: 69

schau dir eine allgemeine einfuehrung in die oop an, wenn du mit dem link auf die php seite nicht weiter kommst. wenn du dann verstehst, was das alles eigentlich sein soll (also du die noetige theorie hast), faellt es dir auch leichter, es mit hilfe solcher seiten (die sich meistens an leute richten, die diesen background haben) umzusetzen.
oder du wartest auf die ersten php5 buecher. ;)

---
sig

  Profil   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

wenn du den link nicht verstehst, brauchst du die neuerungen von php5 auch nicht

---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
Manticor
Quasselstrippe
Threadstarter




Beiträge: 240

Also mit der rudimentären OO-Programmierung von PHP4 kam ich gut klar und die Theorie - denke ich - ist mir auch in den Grundzügen bekannt. Schon schade, wenn das nicht ausreicht, um mehr erklärt zu bekommen.

---

  Profil   Website   Editieren   Zitieren
Philipp Gérard
Foren-Team




Beiträge: 1502

Prinzipiell geht es nur darum, dass nun spezielle Rechte für Funktionen und Variablen eingeführt werden, die für die Vererbung in PHP elementar wichtig sind. Und da OOP ohne childs usw. wenig Sinn macht...

Eben gefunden:

Sterling Hughes hat vor einigen Tagen in New York PHP5 vorgestellt. PHP wird mit dieser Version nun endlich erwachsen. Es unterstützt richtige objektorientierte Programmierung, man kann aber trotzdem noch ähnlich wie in PHP 4 programmieren. Mit der neuen Version schreibt sich PHP ähnlich wie das trotzdem noch viel komplexere Java. Die meisten Neuerungen werden den „normalen“ PHP-Entwickler nicht betreffen, sie lohnen sich nur bei sehr umfangreichen Projekten.
Nun zu den Neuerungen in PHP5:

Namespaces:
Namespaces haben in PHP5 eigentlich nur eine Aufgabe, die hilft, die Übersicht über den Quellcode zu verbessern – wirkliche Funktionalität bieten sie nicht. Man kann jetzt die Klassen in Namespaces stecken, um eine Art Verzeichnisbaum der Klassen aufzubauen. So muss man nicht immer alle Klassen etwa
$e = new LanguagesPerlExecute();
Nennen, man kann stattdessen schreiben
$e = new Languages:Perl::Execute;
Hier ein Beispiel:

namespace Languages:Perl {
class Execute {
function statement($cmd) {
$cmd = escapeshellcmd($cmd);
system("echo $cmd | perl");
}
}
class Insult {
function oneLiner() {
echo "Perl is soo ugly, even ";
echo "Microsoft can't embrace it";
echo "


";
}
}
}

$e = new Languages:Perl::Execute;
$e->statement("print 'Hello World!'");
echo "


";
$i = new Languages:Perl::Insult;
$i->oneLiner();
?>


Exception handling:
PHP5 bietet ein stark verbessertes Exception Handling. Das braucht man zum Beispiel, wenn man angepasste Fehlermeldungen an den Benutzer schicken will. Neu hinzugekommen ist auch das aus C++/Java bekannte try {} catch{}. In den try-Block schreibt man alle Anweisungen, die normal ausgeführt werden sollen. Wenn aber die Ausführung einer Anweisung fehlschlägt, zum Beispiel weil eine Datei nicht gefunden werden kann, werden statt den Befehlen im Try-Block die Befehle im Catch-Block ausgeführt.
So kann man den Code übersichtlicher halten und Fehlermeldungen viel leichter Abfangen oder Vermeiden. Das ganze kann z. B. so funktionieren:

define('NUM', 10);
try {
if (NUM < 20) {
throw new Exception(NUM . " is too small!");
}
} catch (Exception $e) {
echo $e->getMessage();
echo "


";
}
?>
Um eigene Fehlermeldungen zu “throwen” kann man mit Hilfe der Objektorientierten Programmierung eine eigene Fehlerklasse erzeugen.

Object Orientation:
PHP5 hat eine neue Objektorientierte Programmierung spendiert bekommen. Dazu zählen im Wesentlichen folgende neue Features:
- Konstruktoren/Destruktoren
- Zugriffskontrolle auf Variablen der Klasse mittels private/protected/public-Schlüsselwörtern (wie auch in C++/Java)
- Statische Variablen/Funktionen in Klassen
- final-Keyword: Mit dem Keyword final kann man Variablen „finalisieren“. Das bedeutet, dass man diese nach der Definition nicht mehr ändern kann, ähnlich wie Konstanten
Definition: final public $name = „value“;
- Objekte/Funktionen überladen
- Abstrakte Funktionen (Funktionen ohne Inhalt, die z. B. nach einer Vererbung überschrieben werden können)
- Objekte „klonen“:
class sheep {
var $name;
}

$start = new sheep;
$start->name = "Dolly";
$new = $start->__clone();
$new->name = "Molly";
?>

__autoload()-Funktion
Man kann nun eine Funktion mit dem Namen __autoload() definieren. Diese wird automatisch zu Beginn der Ausführung der PHP-Datei ausgeführt. In dieser Funktion kann man zum Beispiel Funktionsbibliotheken laden, ohne die nicht weitergearbeitet werden kann. Wenn die Ausführung von __autoload() fehlschlägt, wird ein Fehlermeldung an den Client zurückgegeben.

Streaming-Funktion
Man kann jetzt einen Streaming-Server mit PHP5 betreiben.
Beispiel:
$s = stream_socket_server('tcp://localhost:8080');
while ($client = stream_socket_accept($s)) {
$line = fgets($client);
echo $line;
}
?>

Es gibt noch etliche Neuerungen mehr, als die hier aufgelisteten. Das sind vor allem Sachen, die mit Klassen zu tun haben. PHP5 hat jetzt ein vollständiges objektorientiertes System, wie auch Hochsprachen (C++/Java) eins haben.

Alles in allem ist PHP5 wesentlich komplexer geworden, vor allem durch die OOP. Für C++/Java-Programmierer ist der Umstieg absolut kein Problem, da viele Sachen sehr ähnlich wie in diesen Sprachen funktionieren. Wer neu ist, sollte die OOP auf später verschieben.


---
Arbeit ist das Feuer der Gestaltung. - Marx

  Profil   E-Mail   Website   Editieren   Zitieren
Manticor
Quasselstrippe
Threadstarter




Beiträge: 240

Danke. Das ist doch schonmal was.

---

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » PHP Fümpf

Aktuelle Beiträge zur Hilfe im Forum für Homepage - PHP Fümpf im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126542    Heute : 460     Gestern : 463     Online : 194     21.11.2024    14:36      0 Besucher in den letzten 60 Sekunden        
Nach oben