php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.03.2007, 10:07  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 206
phpbeginner
Standard Variable setzen außerhalb von der Klasse

Guten Morgen,

ich möchte eine Variable mit Wert belegen außerhalb der Klasse, geht das überhaupt oder soll ich jetzt set und get Funktion schreiben?

PHP-Code:
class myClass
{
  var 
$logo;
}

function 
myClass()
{
  
$this->logo '';
}


$my = new myClass();
$my->logo 'logo.gif'
__________________
Ich lerne PHP und es macht mir Spass!
phpbeginner ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.03.2007, 10:20  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 206
phpbeginner
Standard

ok anscheind geht dies nicht .. schade .. muss wohl funktion machen

PHP-Code:
function set($name,$wert)
        {
            
$this->$name $wert;
        } 
__________________
Ich lerne PHP und es macht mir Spass!
phpbeginner ist offline  
Alt 27.03.2007, 10:31  
CIX88
Gast
 
Beiträge: n/a
Standard

Sicher geht das ...

PHP-Code:
class myClass 

  var 
$logo


$my = new myClass(); 
$my->logo 'logo.gif'
echo 
$my->logo
oder
PHP-Code:
class myClass 

  var 
$logo

function 
myClass() {
  
$this->logo 'uhu';
}



$my = new myClass(); 
echo 
$my->logo
 
Alt 27.03.2007, 10:54  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

@CIXX88: Ich glaube phpbeginner meint so ein Konstrukt

PHP-Code:
<?php
$logo 
'test.gif';

class 
myClass
{
  var 
$logo;

  function 
myClass(){
    global 
$logo;
    
$this->logo $logo;
  }
}

$my = new myClass();
echo 
$my->logo;   
?>
Das ist nur extrem unsauber, wenn nicht sogar falsch. Sinnvollerweise greift man so wenig wie möglich direkt auf Attribute einer Klasse direkt zu, sondern erledigt das mit get() und set().
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 27.03.2007, 13:20  
Erfahrener Benutzer
 
Registriert seit: 03.03.2007
Beiträge: 112
Schnulli
Standard

Zitat:
Zitat von dr.e.
@CIXX88: Ich glaube phpbeginner meint so ein Konstrukt
Wie kommst Du da drauf?
Schnulli ist offline  
Alt 27.03.2007, 13:30  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Schnulli,

Deshalb:
Zitat:
[..]außerhalb der Klasse[..]
Und ich wollte das als Negativ-Beispiel aufführen, weil ich schon oft dererlei Ideen gesehen habe, wenn Leute von Funktionen auf Klassen "umsteigen".
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 27.03.2007, 13:32  
Erfahrener Benutzer
 
Registriert seit: 03.03.2007
Beiträge: 112
Schnulli
Standard Re: Variable setzen außerhalb von der Klasse

Aber wegen
Zitat:
Zitat von phpbeginner
PHP-Code:
$my = new myClass();
$my->logo 'logo.gif'
und der selbst vorgeschlagenen Lösung als Set-Methode glaube ich doch eher, dass global nicht gemeint war.
Schnulli ist offline  
Alt 27.03.2007, 13:59  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Ok, gebe mich geschlagen!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 28.03.2007, 00:37  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von dr.e.
PHP-Code:
<?php
$logo 
'test.gif';

class 
myClass
{
  var 
$logo;

  function 
myClass(){
    global 
$logo;
    
$this->logo $logo;
  }
}

$my = new myClass();
echo 
$my->logo;   
?>
Das ist nur extrem unsauber, wenn nicht sogar falsch. Sinnvollerweise greift man so wenig wie möglich direkt auf Attribute einer Klasse direkt zu, sondern erledigt das mit get() und set().
nur so am rande, ich verstehe eigentlich immer noch nicht was @phpbeginner wollte
aber wenn man mit php5 arbeitet, dann muss man in keinem fall in der classe globale variablen verwenden. Dafür gibt es classen Variablen (static) die zwar auch global sind aber beschränken sich nur für eine Namespace.
Beispiel:
PHP-Code:
//get und set habe ich mir aus faulheit gespart
class Foo{
public static 
$variable;
private 
$was;
 public function 
__construct($was){
  
$this->was=$was;
 }
 public function 
__toString(){
  return 
"ich bin ".__CLASS__." Eigenschaften: \$was=".$this->was." \$variable=".Foo::$variable."
"

 }
}
Foo::$variable="classen Globale variable";
echo new 
Foo("Ich");
//ausgabe: ich bin Foo Eigenschaften: $was=Ich $variable=classen Globale  variable

Foo::$variable="Immer noch";
echo new 
Foo("und jetzt");
//ausgabe: ich bin Foo Eigenschaften: $was=und jetzt $variable=Immer noch 
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 28.03.2007, 07:31  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Naja, statische Variablen sind eher "pseudo-global". Die Variable selbst ist auf die Klasse beschränkt, die Klasse ist global, womit man dann über die Klasse auch auf die Variable zugreifen kann. Wollte das jetzt net so steh lassen
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable mit externen Inhalt setzen? errox PHP Tipps 2008 7 30.05.2008 21:39
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
Generell Variable als "global" setzen möglich ? simsalabim PHP Tipps 2006 18 19.05.2006 18:47
Variable in $this Variable der Klasse benutzen PHP Tipps 2006 5 03.05.2006 20:04
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
Variable in einer Klasse definieren Simon9990 PHP Tipps 2006 5 01.02.2006 23:25
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
mit link variable setzen und funktion ausfürhen PHP Tipps 2005-2 4 07.09.2005 16:36
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
2 Tabellen abfragen und dann variable unterschiedlich setzen Anuschka PHP Tipps 2004-2 2 22.12.2004 02:46
error: Zugriff auf protected variable aus extendet klasse PHP Tipps 2004 3 26.09.2004 23:39
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46
[Erledigt] Session Variable setzen und Link per click auf ein Image PHP Tipps 2004 7 23.08.2004 20:45
Variable einer Klasse PHP Tipps 2004 2 15.06.2004 16:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
außerhalb variable in eine klasse, variable ausserhalb von klassen php, my klasse variable, php globale variable einer klasse außerhalb der klasse verrwenden, php klasse get set, php wert in klasse setzen, php \global variable\ ausserhalb klasse

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.