SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.07.2003, 11:07:43
Funjoy Funjoy ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Berlin
Beiträge: 141
Funjoy eine Nachricht über ICQ schicken
Class!

Hi

Ich suche gute Tuts über Klassen in PHP habe schon mir ne einführung angeschaut! Bis jetzt weiss ich wie das Grundgerüst aussieht und wie einzelnes Funktioniert aber mit den Zuweisern $this un new bin ich noch nicht sehr gut vertraut kennt einer von euch gute seiten die das erklären?

Hier das Grundgerüst:

PHP-Code:
<?PHP
class auto {
    var 
$variable
 
function Variable{
...
}
}
?>
Mfg Funjoy
__________________
Ich bin ein KLEINER Webmaster werde aber immer GRÖßER ;)
Mit Zitat antworten
  #2  
Alt 31.07.2003, 11:15:42
Ben20
Guest
 
Beiträge: n/a
Naja, ne Seite kenne ich jetzt nicht aber ich kann Dirs vielleicht erklären!

Klassen sind ja bekanntermaßen bestandteil von Obejektorientierter Programmierung und da gibts eben wie der Name schon sagt Objekte. Eine Klasse ist dabei das Grundgerüst eines Objekts.

Bsp. wäre ein Suzuki Swift mit Klimaanlage in weiß ein Objekt der Klasse Auto! Jedes Objekt hat eigenschaften (Farbe, usw.) die von der Klasse mitgeliefert werden. Die Werte dieser Eigenschaften sind aber immer verschieden von Objekt zu objekt.


Jetzt zu new und $this

mit

$meinAuto = new Auto()

legst ein neues Objekt der Klasse Auto an (also ein konkretes Auto)

$meinAuto->farbe = "weiß";

setzt den Wert der Eigenschaft farbe für das Objekt $meinAuto auf "weiß"



Mit $this beziehst Du Dich auf das aktuelle Objekt (meinstens (immer?) in Methoden (= sowas wie Funktionen) innerhalb einer Klasse:


Bsp:

Das ist Deine Klasse:

class Auto() {

var $motorzustand =;

//Dies ist der Konstruktor - diese Funktion wird automatisch aufgerufen, wenn ein neues Autoobjekt angelegt wird!
function Auto() {

$this->motorzustand = 'aus';

}

function starte_motor() {

$this->motorzustand = 'an';

}


}


Dann kannst Du das machen:

$suzuki = new Auto();

echo $suzuki->motorzustand; // Ausgabe aus

$suzuki->starte_motor();

echo $suzuki->motorzustand // Ausgaben an



Ich hoffe es nützt Dir was!
Mit Zitat antworten
  #3  
Alt 31.07.2003, 11:21:08
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Klassen und Objekte
Mit Zitat antworten
  #4  
Alt 31.07.2003, 11:47:10
Funjoy Funjoy ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Berlin
Beiträge: 141
Funjoy eine Nachricht über ICQ schicken
Besser konnte man das Nicht erklären wie du Ben20 :-)

Bis jetzt habe ich alles geraft aber noch eine Frage kann man $this auch ausserhalb einer Funktion bzw. Klasse benutzten oder kann $this nur inerhalb einer Funktion bzw. Klasse benutzt werden?

Aber sonst DANKE für das Kleine TUT was mir erstmal vollkommen ausreicht ;-)
__________________
Ich bin ein KLEINER Webmaster werde aber immer GRÖßER ;)
Mit Zitat antworten
  #5  
Alt 31.07.2003, 12:03:44
Ben20
Guest
 
Beiträge: n/a
Soweit mir bekannt kannst Du $this nur innerhalb von Klassen benutzten, da es sich ja immer auf "aktuelle" Objekt bezieht.
Mit Zitat antworten
  #6  
Alt 31.07.2003, 13:31:52
Funjoy Funjoy ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Berlin
Beiträge: 141
Funjoy eine Nachricht über ICQ schicken
So nun habe ich meine erste klasse erstellt welche auch funktioniert bloss der text welcher in einer Tabelle soll, steht neben der Tabelle hier mal der Code:

<?php
class fehler {
var $fehler_text;

function fehler_ausgabe(){
echo "
<html>
<head>
<title>Free4Webmaster.net - All for your Website ...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table border="0" cellpadding="0" cellspacing="2" width="584" align="left">
<tr><td width="575" class="navi_cat"><div align="left"><font color="#FF0000" size="3"><strong>Fehler</strong></font> </div></td>
<td width="7" class="navi_cat"></td><td width="2" class="navi_cat"></td>
</tr><tr><td colspan="3" class="navi_left">".$this->getausgabe().". <a href='javascript:history.back()'>Zur&uuml;ck</a></td></tr>
</table>
</body>
</html>";
}
function getausgabe()
{
return $this->fehler_text;
}
}
?>

Um nun die Klasse auf zu rufen habe ich das so gemacht:

<?php
$f_text = new fehler;
$f_text->fehler_ausgabe();
echo $this->$fehler_text = "Dein Name oder Passwort ist Ung&uuml;ltig!";
?>

Es wird zwar alles ausgegeben aber der neue Text wird neben der Tabelle ausgegeben wie kann ich das verhindern?

Mfg Funjoy
__________________
Ich bin ein KLEINER Webmaster werde aber immer GRÖßER ;)
Mit Zitat antworten
  #7  
Alt 31.07.2003, 13:36:05
Ben20
Guest
 
Beiträge: n/a
<?php
$f_text = new fehler;
$f_text->fehler_ausgabe();
echo $this->$fehler_text = "Dein Name oder Passwort ist Ungültig!";
?>

So wird die Tabelle ausgeben, dann wird der fehler_text nicht gesetzt (weil $this->$fehler_text und nicht $f_text->fehler_text (ganz wichtig nach -> kein $) und ausgeben!


Versuchs mal so:

<?php
$f_text = new fehler(); // () nicht vergessen
$f_text->fehler_text = 'Dein Name oder Passwort ist falsch!';
$f_text->fehler_ausgabe();
?>
Mit Zitat antworten
  #8  
Alt 31.07.2003, 18:08:43
Funjoy Funjoy ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Berlin
Beiträge: 141
Funjoy eine Nachricht über ICQ schicken
Jo jetzt funzt es ;-)


Mfg Funjoy
__________________
Ich bin ein KLEINER Webmaster werde aber immer GRÖßER ;)

Geändert von Funjoy (31.07.2003 um 21:22:00 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:24:12 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt