OOP in PHP
bleicher
- php
0 Peter Pan0 Mega0 bleicher0 Peter Pan0 Sympathisant0 Peter Pan
0 OOP in PHP II (ERROR?)
bleicher0 Peter Pan0 bleicher0 Peter Pan
0 Mega
0 steckl0 Mega
Grüße,
ich habe gerade angefangen mich in die classen einzuarbeiten, und habe da leider noch verständnissprobleme.
soweit ich es evrstanden habe, erzeugt man ein "objekt" der beliebig viele eigenschaften erhalten darf, die man von ihm nachher auch abfragen kann.
kann man es mit einem array vergleichen?key/eigenschaft bekommt ein wert zugewiesen?
ich habe einige tutorials durchgelsen - finde aber zB keine antwort auf die frage ob/wie man einem object mehrere eigenschaften in einer funktion zuweist.
zB erzeuge ich ein bild - und möchte innderhalb der klasse eine funktion haben die dem bild höhe/breite verleiht.
realisiert man das mit
return $this->height=$a;
return $this->width=$b;
?
oder gibt es da bessere schreibweisen?
MFG
bleicher
Hi!
return $this->height=$a;
return $this->width=$b;
Ein return gibt eine Variablr zurück und beendet die Methode - Dein zweiter Wert wird so also nie zurück gegeben - wie wolltest Du die Methode denn auch aufrufen, sodass Du mehrere Variablen speicherst?
Du hast mehrere Möglichkeiten dies zu lösen z.B: ein Array zurückgeben
welches beide (oder mehrere) Werte enthält.
Du kannst auch die Properties als public deklarieren (wenn Du PHP5 verwendest, sonst sind sie sowieso von außen les- und schreibbar) und dann auf die Eigenschaften des Objektes zugreifen:
~~~php
$my = new myClass;
echo $my->height;
echo $my->width;
off:PP
Hi!
Ein return gibt eine Variablr
Ich hasse diese kaputten Keyboards von Apple!
off:PP
Ich hasse diese kaputten Keyboards von Apple!
Das kommt davon, weil sie immer ein Stück rausbeissen.
Hi!
Ich hasse diese kaputten Keyboards von Apple!
Das kommt davon, weil sie immer ein Stück rausbeissen.
Ja;)
Das ist besonders dann blöd, wenn man - wie in meinem Fall heute mittag - dieses an einem Notebook auf dem Windooof VXY rennt, nutzen muss.
Wegen eines defekten (internen) Keyboards habe ich das Apple-Ding per USB angedockt.
off:PP
return $this->height=$a;
return $this->width=$b;
Du musst nur das "return" weglassen, dann machst du die Variablen in der Klasse auch in anderen Methoden verfügbar.
~~~php
class a {
function b(){
$this->c = "Test";
}
function d(){
echo $this->c; // Zeigt "Test" an
}
}
Wenn du $a als public definiert hast, kannst du auch über die Instanz der Klasse darauf zugreifen.
Grüße,
Wenn du $a als public definiert hast, kannst du auch über die Instanz der Klasse darauf zugreifen.
also über
var $a;
?
und was heißt "über die instanz der klasse"? dass ich die variable wie eine normale ändern/setzen kann?
MFG
bleicher
Hi!
Wenn du $a als public definiert hast, kannst du auch über die Instanz der Klasse darauf zugreifen.
also über
var $a;
Verwendest Du noch PHP4?
Wenn nicht, also ich gehe dann von 5 aus, deklariest Du die Variable so
class MyClass
{
public $a;
// Rest der Klassendefinition
}
off:PP
Salvete,
class MyClass
{public $a;
// Rest der Klassendefinition
}
oder, der imaginaeren Typsicherheit wegen, so ;-)
~~~php
class MyClass
{
public String $a;
// -----^
// Rest der Klassendefinition
}
MfG,
Sympatisant
Hi!
oder, der imaginaeren Typsicherheit wegen, so ;-)
class MyClass
{
public String $a;
// -----^
// Rest der Klassendefinition}
In PeHaPe?
Nicht, nee!
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
Salvete,
In PeHaPe?
Nicht, nee!
Aber klar doch.
http://de3.php.net/manual/en/language.oop5.typehinting.php *
http://de3.php.net/types
* die Aussage ueber die skalaren Typen ist veraltet.
MfG,
Sympatisant
Hi!
In PeHaPe?
Nicht, nee!
Aber klar doch.
http://de3.php.net/manual/en/language.oop5.typehinting.php *
http://de3.php.net/types
* die Aussage ueber die skalaren Typen ist veraltet.
Welche PHP-Version meinst Du, bitte?
Teste mal das von mir bemängelte Beispiel mit dem PHP-Intepreter Deiner Wahl!
off:PP
Hi Ingrid!
.. mit dem PHP-Intepreter Deiner Wahl!
Gut, dass ich nicht Interpeter geschrieben habe!
off:PP
Salvete,
OK, die Aussage ueber die skalaren Typen muss ich wohl leider revidieren.
Der Parser meckert wohl nicht, wenn ein Methodenparameter von einem
skalaren Typen ist, jedoch laesst sich keine Instantz eines solchen
Typen erstellen. Und Casting mag PHP an dieser Stelle auch nicht.
Es geht tatsaechlich nur mit Arrays, Objects und Klassen.
<?php
class AClass {
public function dump() {
var_dump($this);
}
}
class BClass {
public static function test(AClass $astring) {
$astring->dump();
}
}
BClass::test(new AClass);
?>
Naja, es waere ja auch zu schoen gewesen ;-)
MfG,
Sympatisant
Grüße,
erstmals danke an alle die geantwortet haben ;)
ich bin nun tatsächlich etwas weiter, jedoch streikt hier wieder was:
die zeile
function tmbSize($modus=$config['resize_mode'], array $infos=getimagesize($bild)){//tmbgroesse ermitteln
erzeugt "Parse error: syntax error, unexpected T_VARIABLE"
habe ich es gründlich missverstanden und derartiges vorbelgen der aufrufwerte ist unerlaubt?
MFG
bleicher
Hi bleicher!
Nochmals meine Frage PHP 4 oder 5 - ich frage deshalb, da es deutliche Unterschiede gibt.
function tmbSize($modus=$config['resize_mode'], array $infos=getimagesize($bild)){//tmbgroesse ermitteln
> habe ich es gründlich missverstanden und derartiges vorbelgen der aufrufwerte ist unerlaubt?
Beide Male: Ja!
Bei der Deklaration Deiner Methode ist dies so nicht möglich - hier kannst Du nur konstante Werte in der Signatur als Default festlegen.
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
Grüße,
Nochmals meine Frage PHP 4 oder 5 - ich frage deshalb, da es deutliche Unterschiede gibt.
local 5, beim hoster kanns auch 4 werden - kann man für beides valide coden?
Beide Male: Ja!
Bei der Deklaration Deiner Methode ist dies so nicht möglich - hier kannst Du nur konstante Werte in der Signatur als Default festlegen.
danke :)
ich fand in der documentation kein hinweise diesbezüglich >_<
MFG
bleicher
Hi!
Nochmals meine Frage PHP 4 oder 5 - ich frage deshalb, da es deutliche Unterschiede gibt.
local 5, beim hoster kanns auch 4 werden - kann man für beides valide coden?
Ja, dann lautet der kleinste gemeinsame Nenner: PHP4
Will sagen: Du programmierst dann PHP4 - Code, welchen Dein (lokaler) PHP5-Interpreter ausführt - wobei es manchmal (selten) Probleme geben kann.
Bietet der Hoster nur 4?
Das wäre schade, denn in PHP4 zu coden und dann noch objektorientiert macht keinen Spass.
Ersthaft betrachtet bietet PHP4 kein richtiges OOP - z.B: Datenkapselung ist nicht möglich - alle Properties sind 'public' und somit außerhalb der Klasse les- und schreibbar.
off:PP
Grüße,
Das wäre schade, denn in PHP4 zu coden und dann noch objektorientiert macht keinen Spass.
dann finde ich einen anderen freehoster^^!
ich konnte den einen fehler beheben, hab aber nun was neues -
wenn ich in einer Klasse in einer funktion eine variable erzeuge, wird sie in der nexten funktion der klase nicht mehr verfügbar sein.
kann man das umgehen?
vordefinieren als
static $conf;
oder
var $conf;
erzeugt fehlermeldung -
syntax error, unexpected T_GLOBAL, expecting T_FUNCTION
oder hilft nicht (var $..)
.. ich hab das gefühl ich springe von einem irrtum zum nexten, und kein tutorial kann mir da helfen >_<
jetzt bin ich so richtig auf die barmherzigkeit der selfhtmler angewisen...
MFG
bleicher
wenn ich in einer Klasse in einer funktion eine variable erzeuge, wird sie in der nexten funktion der klase nicht mehr verfügbar sein.
kann man das umgehen?
Ja, wie bereits erwähnt, machst du das mit $this->
Damit machst du die Variable in allen Methoden verfügbar.
Und in einer Klasse gibt es keine Funktionen, da heissen sie Methoden ;)
Grüße,
Ja, wie bereits erwähnt, machst du das mit $this->
Damit machst du die Variable in allen Methoden verfügbar.Und in einer Klasse gibt es keine Funktionen, da heissen sie Methoden ;)
hab ich als erstes versucht -
der konstruktor (richtiges wort^^?)
erzeugt ein array $config;
am ende der methode habe ich
$this->$config;
und
return $this->$config;
und
$this->config=$config;
versucht - brachte alles nichts, was mache ich bloß falsch?
MFG
bleicher
return $this->$config;
Da wird der Inhalt von $config genutzt. Wenn also $config="test", dann würde $this->$config == $this->test sein.
$this->config=$config;
So sollte es aber klappen.
Hi!
wenn ich in einer Klasse in einer funktion eine variable erzeuge, wird sie in der nexten funktion der klase nicht mehr verfügbar sein.
kann man das umgehen?Ja, wie bereits erwähnt, machst du das mit $this->
Damit machst du die Variable in allen Methoden verfügbar.
Nein mit $this machst Du nichts verfügbar - auch wenn man im Umgang mit PHP4 diesen Eindruck gewinnen könnte. Aber wie gesagt: mit PHP4 ist keine 'echte' OOP möglich.
Mit $this greifst Du auf Eigenschaften und Methoden innerhalb der Klasse zu.
Und in einer Klasse gibt es keine Funktionen, da heissen sie Methoden ;)
Du Besserwisser ;))
off:PP
Nein mit $this machst Du nichts verfügbar - auch wenn man im Umgang mit PHP4 diesen Eindruck gewinnen könnte. Aber wie gesagt: mit PHP4 ist keine 'echte' OOP möglich.
Ich gehe eh immer von PHP5 aus, die Gründe nennst du ja selbst ;)
Mit $this greifst Du auf Eigenschaften und Methoden innerhalb der Klasse zu.
Ja, und mit $this->test = "ABCD" stelle ich eine Variable zur Verfügung auf die ich innerhalb der Klasse/Instanz zugreifen kann.
Ich würde sowas als "verfügbar machen" definieren. Wie drückt man sowas denn richtig aus? Ich hab mir alle Programmiersprachen selbst beigebracht und daher kann es schon vorkommen, dass meine Ausführungen nicht exakt sin. Ich lerne aber immer gerne dazu ;)
Hi!
Nein mit $this machst Du nichts verfügbar - auch wenn man im Umgang mit PHP4 diesen Eindruck gewinnen könnte. Aber wie gesagt: mit PHP4 ist keine 'echte' OOP möglich.
Ich gehe eh immer von PHP5 aus, die Gründe nennst du ja selbst ;)
Ja!
Mit $this greifst Du auf Eigenschaften und Methoden innerhalb der Klasse zu.
Ja, und mit $this->test = "ABCD" stelle ich eine Variable zur Verfügung
Damit weist Du einer Property n einen Wert zu - diese sollte schon vorhanden sein.
Ich hab mir alle Programmiersprachen selbst beigebracht
Also ich habe auch mit der Muttermilch keine mitbekommen, sondern selbst gelernt.
off:PP
Hi!
Das wäre schade, denn in PHP4 zu coden und dann noch objektorientiert macht keinen Spass.
dann finde ich einen anderen freehoster^^!
Es gibt preiswerte Hoster ab 12€ pro Jahr! Nein ich werde hier keine Werbung machen;)
ich konnte den einen fehler beheben, hab aber nun was neues -
So ist das nun mal, wenn man etwas neues lernt;)
Glaube niemals, Du könntest irgendwann etwas 'auf Anhieb' fehlerfrei programmieren auch nach Jahren nicht! Wer so etwas behauptet belügt sich selbst.
wenn ich in einer Klasse in einer funktion eine variable erzeuge, wird sie in der nexten funktion der klase nicht mehr verfügbar sein.
Natürlich nicht, da Funktionen (Methoden) der Klasse einen lokalen Scope haben - entweder übergibst du die Variablen, oder du nutzt Variablen, die innerhalb der Klasse verfügbar sind.
.. ich hab das gefühl ich springe von einem irrtum zum nexten, und kein tutorial kann mir da helfen >_<
Du solltest Dir Scope mal ansehen.
jetzt bin ich so richtig auf die barmherzigkeit der selfhtmler angewisen...
Nicht sooo dramatisch sehen - vielleicht kommt ja 'Der Martin' und gibt Dir den halben Mantel ab.
off:PP
Grüße,
Du solltest Dir Scope mal ansehen.
damit fing ich an - aber jeder evrsuch eine variable als global vorzudefinieren (vor einer funktion in der calsse) erzeugt fehelrmeldung, dass keine variable sondern funktion erwartet wurde.
umwege sind ja möglich,($_GLOBALS würde evrmutlcih helfen) aber ich wollte es OOP-gerecht machen.. sonst könnte ich ja gleich bei normalen funktionen bleiben.
MFG
bleicher
Hi!
Du solltest Dir Scope mal ansehen.
damit fing ich an - aber jeder evrsuch eine variable als global vorzudefinieren (vor einer funktion in der calsse) erzeugt fehelrmeldung, dass keine variable sondern funktion erwartet wurde.
Hast du mal ein Beispiel zur Hand?
Du hast es aber (Vorsicht falsch!) nicht mit so versucht:
class myClass
{
global $b;
//..rest
}
hoffe ich?
off:PP
Grüße,
Du hast es aber (Vorsicht falsch!) nicht mit so versucht:
class myClass
{
global $b;
//..rest
}
nein - ich setzte
global $a;
in der funktion in der ich darauf (auf $a) zugreifen wollte.
hilft bloß nicht.
gibt es echt keine OOP-spezifische methode?
MFG
bleicher
--
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_-
[Die versprechen ernsthaft werbefreien hosting?](http://www.funpic.de/?assasin)
langsam verstehe ich den sinn von OOP nich tmehr -
ich dachte es würde den vortiel geben an ein object viele eigenschaften hängen zu können, sodass ich mit eben diesem problem der funktionsübergreifenden funktionen (habe über 10) kämpfen müsste...
wozu ist OOP bitteschön gut?
was ist oop's vorteil den "normalen funcitonen" gegnüber?
MFG
bleicher
Hi!
nein - ich setzte
global $a;
in der funktion in der ich darauf (auf $a) zugreifen wollte.
Ist $a denn im globalen Scope - d.h. hier: _vor der Klassendefinition_ im script verfügbar?
hilft bloß nicht.
Heißt was genau?
Komm rück schon raus den Code - es ist gerade keiner da;)
gibt es echt keine OOP-spezifische methode?
[*]
OOP und globale Variablen sind keine wirklichen Freunde;)
off:PP
[*] irgendjemand wird diese Stelle kommentieren - ich spare mir das jetzt.
Grüße,
Heißt was genau?
Komm rück schon raus den Code - es ist gerade keiner da;)
ok - STARK verkürzte version - sinn ist bildhochzuladen und ein thumbnail zu erzeugen
<?php
include "sql_key.php";//verbindung zu DB
class Imaginator{
function Imaginator($path=false){
//erzeugt hier den array $config mit einstellungen
$path===false ? $bild_temp_name=$_FILES['picture']['tmp_name'] : $bild_temp_name=$path; //das ganze wird sich entweder auf gerade hochgeladenes oder ein bereits vorhandenes bidl bezihen
}
function newName(){//dateiname der neuen datei, ohne typ-erweiterung
return $this->$new_last_name;
}
function tmbSize($modus, $infos){//tmbgroesse ermitteln
global $config;
$modus===false ? $modus=$config['resize_mode'] : $modus;
$infos===false ? $infos=getimagesize($bild_temp_name) : $infos;
############# HIER ###############
//steckt das problem - ich brauche daten aus $config, will es aber nicht an jede funktion erneut schicken.
}
function tmbMake($bild){//erzeugen tmb mit gegeben groessen
$bild===false ? $bild=$bild_temp_name : $bild;
#########soweit kam der code nicht, aber hier wird ja das glieche problem erwartet....
}
}
function dbInsert($commentar, $flag){
$commentar===false ? $commentar=mysql_real_escape_string($_POST['comment']) : $commentar;
$flag===false ? $flag=mysql_real_escape_string($_POST['flag']) : $flag;
############hier wird noch sql-query zum speichern von bilddaten erzeugt
mysql_query($sql);
}
}//classende
$bild=new Imaginator;
$bild->newName();
$bild->tmbSize(false, false);
$bild->tmbMake(false);
$bild->dbInsert();
?>
MFG
bleicher
Hi!
Ich kürze mal Deinen Code und formatiere einen Ausschnitt etwas um:
function tmbMake($bild)
{ //erzeugen tmb mit gegeben groessen
$bild===false ? $bild=$bild_temp_name : $bild;
#########
}
}
Fällt dir was auf?
Welchen Editor verwendest Du?
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
Grüße,
Welchen Editor verwendest Du?
Notepad++ , wen ndu die gescwefte klammer meins t- ich habe da ca 50 zeilen code gelöscht - leider etwas schlampig - die überschüssige } gehört zu einer if() die ich hier kürzte.(original-php ist 141 zeilen (ca 120 ohne leere)
MFG
bleicher
Hi!
wen ndu die gescwefte klammer meins t-
Yo, meinte ich.
Welche Fehlermeldung kommt denn aktuell?
off:PP
Grüße,
Yo, meinte ich.
Welche Fehlermeldung kommt denn aktuell?
aktuell versuche ich die daten über zB
$this->infos=$infos; (wieder und wieder tutoprial zu lesen half doch)
global zu tragen - das klappt scheinbar..
also mal sehen was kommt..
MFG
bleicher
Hi!
aktuell versuche ich die daten über zB
$this->infos=$infos; (wieder und wieder tutoprial zu lesen half doch)
global zu tragen - das klappt scheinbar..
'Scheinbar' wäre schlecht - 'anscheinend' gäbe Spielraum;)
also mal sehen was kommt..
Ich nehme schon mal die Kontaktlinsen raus und setze die Brille auf!
off:PP
Grüße,
also mal sehen was kommt..
Ich nehme schon mal die Kontaktlinsen raus und setze die Brille auf!
ich glaube hier kommt ein
TA-DA-A!
habe nun *anscheinend* eine classe die ich nun künftig wohl für ellerlei bildhochladen verwenden kann - inclusive 2 arten der thumbnailserstellung und configuration über config.ini :)
MFG
bleicher
class Imaginator{
Bei PHP5 solltest du das __construct nennen. Es funktioniert momentan zwar beides, könnte in PHP6 aber schon anders sein.
function newName(){//dateiname der neuen datei, ohne typ-erweiterung
return $this->$new_last_name;
}
Un dieser Methode gibt es $new_last_name nicht. Der Aufruf sollte eigentlich nen E_ERROR werfen, da du ja quasi auf $this-> (hier fehlt was, weil die Variable leer ist) zugreifen willst, was nicht klappen kann.
function tmbSize($modus, $infos){//tmbgroesse ermitteln
global $config;
Woher kommt $config? Ich seh im ganzen Code keine Deklaration.
Salvete,
class myClass
{
global $b;
//..rest
}
Ich habe mich jetzt nicht mit dem Thread beschaeftigt, aber eine globale
Variable hat in einer Klasse nichts zu suchen.
Wenn man das benoetigt, dann hat man bereits im Design etwas falsch gemacht.
MfG,
Sympatisant
--
"Non dura iubeantur, non prohibeantur inpura."
Hallo,
jetzt bin ich so richtig auf die barmherzigkeit der selfhtmler angewisen...
Nicht sooo dramatisch sehen - vielleicht kommt ja 'Der Martin' und gibt Dir den halben Mantel ab.
auch wenn ich nicht heilig bin - das mit dem Mantel wär nicht das Problem; der würde bleicher aber in der aktuellen Jahreszeit auch nicht wirklich helfen. ;-)
Apropos helfen: Nein, in diesem Bereich halte ich mich lieber zurück. Mein Wissen über syntaktische Fallstricke der klassischen[tm] OOP ist nur Stückwerk; ich meide sie, weil mir die Denkweise nicht behagt.
Für mich spielt sich OOP nur im Kopf des Programmierers ab. Der dabei entstehende Code folgt zwar durchaus allgemeinen Gesichtspunkten der OOP, sieht aber syntaktisch völlig "normal" aus und wirkt auf den ersten Blick rein prozedural. Mit diesem Programmiermodell komme ich *viel* besser zurecht.
Ciao,
Martin
Hi!
jetzt bin ich so richtig auf die barmherzigkeit der selfhtmler angewisen...
Nicht sooo dramatisch sehen - vielleicht kommt ja 'Der Martin' und gibt Dir den halben Mantel ab.
auch wenn ich nicht heilig bin
Das stimmt natürlich - es bot sich nur gerade an, Deinen Nick ins Spiel zu bringen - nicht böse gemeint;)
»- das mit dem Mantel wär nicht das Problem; der würde bleicher aber in der aktuellen Jahreszeit auch nicht wirklich helfen. ;-)
Das stimmt natürlich auch!
Für mich spielt sich OOP nur im Kopf des Programmierers ab.
Viel wichtiger: im Kopf der kostenstellenverantwortlichen Entscheider.
Ohne Auftrag: keine Programmierung.
Das war jetzt keine Wertung - nur eine Wiedergabe meiner beruflichen Erfahrungen.
off:PP
n'Abend!
Für mich spielt sich OOP nur im Kopf des Programmierers ab.
Viel wichtiger: im Kopf der kostenstellenverantwortlichen Entscheider.
Ohne Auftrag: keine Programmierung.
Wieso das? Aufträge für Programmierung und Softwareentwicklungen definieren sich meiner Erfahrung nach durch äußere Eigenschaften:
* was muss die Software können?
* auf welcher Plattform soll sie laufen?
* welche Eingaben erhält sie und auf welchem Weg?
* wie sehen die Ausgabedaten aus und wo gehen sie hin?
Wie dieses Stück Software intern realisiert und organisiert ist, interessiert die Auftraggeber dabei meist nicht, solange die Schnittstellen zur Umgebung stimmen. Und natürlich der Preis. ;-)
Das war jetzt keine Wertung - nur eine Wiedergabe meiner beruflichen Erfahrungen.
Hmm, das überrascht mich. Wenn ich einen Fachmann mit der Wartung oder Reparatur meiner Heizungsanlage beauftrage, schreibe ich ihm ja auch nicht vor, welches Werkzeug er zu benutzen hat oder wo er das nötige Material einkauft. Das Ergebnis zählt, nicht die Mittel.
So long,
Martin
Hi!
Hmm, das überrascht mich. Wenn ich einen Fachmann mit der Wartung oder Reparatur meiner Heizungsanlage beauftrage, schreibe ich ihm ja auch nicht vor, welches Werkzeug er zu benutzen hat oder wo er das nötige Material einkauft.
Das finde ich etwas kursichtig - wenn ich einen Teich im Garten anlegen lassen möchte, werde ich darauf bestehen, dass der Aushub mit einer Schaufel (kleiner Teich!) erfolgt und nicht mit einer Stange TNT. Ein Loch im Boden kann man auf beide Arten erzielen.
Wenn ich eine Gas-Heizung einbauen lasse, interessiert es mich sehr wohl, welches Material der Handwerker für die zu verlegende Leitung benutzt und welches Werkzeug benutzt wird.
Das Ergebnis zählt, nicht die Mittel.
Wenn meine Mittel es erlauben, zählt für mich auch der Weg zum Ziel.
off:PP
hi,
wenn ich einen Teich im Garten anlegen lassen möchte, werde ich darauf bestehen, dass der Aushub mit einer Schaufel (kleiner Teich!) erfolgt und nicht mit einer Stange TNT. Ein Loch im Boden kann man auf beide Arten erzielen.
Ein Bagger würde es wohl auch noch gerade so hinkriegen :)
Wenn ich eine Gas-Heizung einbauen lasse, interessiert es mich sehr wohl, welches Material der Handwerker für die zu verlegende Leitung benutzt und welches Werkzeug benutzt wird.
Da gehörst du zu den wenigen, die wissen, was sich hier eignet und was nicht, ich würde mich auf meinen Gas- Wasser- Scheisse Kumpel verlassen[1] :)
mfg
[1] Auch wenn ich gerne selber Handwerke und den Akku schwinge
Hallo,
Wenn ich eine Gas-Heizung einbauen lasse, interessiert es mich sehr wohl, welches Material der Handwerker für die zu verlegende Leitung benutzt und welches Werkzeug benutzt wird.
Da gehörst du zu den wenigen, die wissen, was sich hier eignet und was nicht, ich würde mich auf meinen Gas- Wasser- Scheisse Kumpel verlassen[1] :)
so meinte ich das auch. Ich habe nicht zufällig den Begriff "Fachmann" gewählt anstatt "Experte" gewählt.
[1] Auch wenn ich gerne selber Handwerke und den Akku schwinge
Ich auch. Aber es gibt vieles, was andere besser können als ich - sollten sie wohl auch, wenn sie es beruflich machen. Und da werde ich als Laie einen Teufel tun und denen vorschreiben, *wie* sie ihre Arbeit zu erledigen haben.
So long,
Martin
hi,
[1] Auch wenn ich gerne selber Handwerke und den Akku schwinge
Ich auch. Aber es gibt vieles, was andere besser können als ich - sollten sie wohl auch, wenn sie es beruflich machen. Und da werde ich als Laie einen Teufel tun und denen vorschreiben, *wie* sie ihre Arbeit zu erledigen haben.
Wenn man es doch tun möchte, sollte man schon ein versierter Laie sein, wer als Laie einem Fachmann was von seinem Fach erzählen will ... Wir sehen ja, wozu es meistens hier im Forum führt :)
mfg
Wenn ich eine Gas-Heizung einbauen lasse, interessiert es mich sehr wohl, welches Material der Handwerker für die zu verlegende Leitung benutzt und welches Werkzeug benutzt wird.
Und welchen grund hat es denn nun, dass du einem Programmierer vorschreibst, wie er programmiert (OOP oder nicht) und sogar welchen Editor er benutzen muss? Dann wären wir bei der Art der Leitung und dem Werkzeug.
Grüße,
Wenn du $a als public definiert hast, kannst du auch über die Instanz der Klasse darauf zugreifen.
also über
var $a;
?
In PHP5 nicht mehr, da gibt es public, private und final. (Hab ich was vergessen?). var wirft mindestens ein E_WARNING
und was heißt "über die instanz der klasse"? dass ich die variable wie eine normale ändern/setzen kann?
$class = new Klasse
$class ist dann die Instanz.
Du greifst also per $class->a auf die Variable $a in der Klasse "Klasse" zu.
Hi!
In PHP5 nicht mehr, da gibt es public, private und final. (Hab ich was vergessen?).
Ja: hinsichtlich der Sichtbarkeiten von Properties und Methoden gibt es public, protected und private.
Als final deklarierte Methoden können nicht durch abgeleitete Klassen 'überschrieben' werden - eine als final deklarierte Klasse kann nicht erweitert werden.
off:PP
Hi,
class a {
function b(){
$this->c = "Test";
}
function d(){
echo $this->c; // Zeigt "Test" an
}
}
>
> Wenn du $a als public definiert hast, kannst du auch über die Instanz der Klasse darauf zugreifen.
Wenn ich das richtig sehe sollte es hier $c (oder auch b() oder d()) statt $a heißen.
mfG,
steckl
Wenn ich das richtig sehe sollte es hier $c (oder auch b() oder d()) statt $a heißen.
Stimmt. da hat sich der Fehlerteufel eingeschlichen.