php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.02.2006, 12:20   #1 (permalink)
Benutzer
 
Registriert seit: 06.02.2006
Beiträge: 35
fmueller
fmueller eine Nachricht über ICQ schicken
Standard Class Vars

Hallo,

mein Problem ist sicher simpel, aber ich komme nicht auf die Lösung.

Ich habe 2 Klassen

class a

class b

in class a hab ich verschiedene vars definiert.
Wie kann ich die in class b abrufen?

ich habe nur PHP 4 zur Verfügung.
fmueller ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.02.2006, 12:38   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

PHP-Code:
<?php
class {
  var 
$memberA 'Hello';
}
class 
{
  function 
B() {
    print 
A::memberA// ohne Instanz, statisch
    
$a = new A();
    print 
$a->memberA;
  }
}
?>
Überleg dir aber gut was du machst und les vorher etwas über OOP, sonst
hast du ganz schnell verwurschtelten Code der auf Änderungen praktisch
nicht mehr reagieren kann.
Zergling-new ist offline  
Alt 14.02.2006, 13:00   #3 (permalink)
Benutzer
 
Registriert seit: 06.02.2006
Beiträge: 35
fmueller
fmueller eine Nachricht über ICQ schicken
Standard

Also,

ich MUSS ausserhalb einer Klasse eine Variable vergeben. Geht nicht anders. Diese Variable muss ich aber inhalb einen Klasse benutzen. Nur wie?
fmueller ist offline  
Alt 14.02.2006, 13:02   #4 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Werd doch mal konkret.
Zergling-new ist offline  
Alt 14.02.2006, 13:05   #5 (permalink)
Benutzer
 
Registriert seit: 06.02.2006
Beiträge: 35
fmueller
fmueller eine Nachricht über ICQ schicken
Standard

Was ist denn daran nicht zu verstehen?

PHP-Code:
<?php
$variable 
"Wert";

class 
Test
{
   function 
test()
   {
       
$test2 $variable;
   }
}
?>
ist jetzt nur mal ein kleines Beispiel. Aber so soll es aussehen.
Geht das irgendwie?
fmueller ist offline  
Alt 14.02.2006, 13:10   #6 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Natürlich verstehe ich was du meinst, aber je nach dem was du vorhast, sollte man vielleicht
überdenken ob die Technik wirklich das richtige ist
schauen was man dann letztlich verwendet

Da du aber nicht konkret werden willst:
übergeb die Variable entweder per Konstruktor-/Methodenparameter oder
per global (schlechter Stil)
Zergling-new ist offline  
Alt 14.02.2006, 13:24   #7 (permalink)
Benutzer
 
Registriert seit: 06.02.2006
Beiträge: 35
fmueller
fmueller eine Nachricht über ICQ schicken
Standard

Was willst du denn genau wissen, wenn ich konkret werden soll?

Gut dann beschreib ich dir das Problem:

ich habe ein Portalsystem

20 verschiedene Portale die alle auf die gleiche Klasse zugreifen.
alle 20 sollen eine Art "Config" Datei erhalten in denen Variablen für die Klasse definiert werden. Das ist mein Problem. Es handelt sich hierbei nicht um eine einzige Variable sondern um ca. 50-60.

Wie lässt sich das am einfachsten mit PHP4 lösen?

bei PHP5 hätte ich das so gelöst:

PHP-Code:
<?php

[b]datei config.php:[/b]
class 
a
{
     public static 
$var1 "Wert1";
     public static 
$var2 "Wert2";
     ...
}
[
b]datei classen.php:[/b]
class 
b
{
     function 
test()
     {
          
$wert a::$var1;
     }
}

?>
allerdings funktioniert das in PHP4 nicht. Da bringt er mir immer diese Meldung:

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /home/t/tech27/.htdocs/www.gesunddurchhessen.de/www.gesunddurchhessen.de/giessen/src/DBPrefs.inc on line 5
fmueller ist offline  
Alt 14.02.2006, 13:55   #8 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Übergeb dir $config-Variable per Konstruktor und initialisier damit deine Membervariablen.
Zergling-new ist offline  
Alt 14.02.2006, 19:40   #9 (permalink)
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von fmueller
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /home/t/tech27/.htdocs/www.gesunddurchhessen.de/www.gesunddurchhessen.de/giessen/src/DBPrefs.inc on line 5
Und welche der Zeilen ist Zeile 5?
xabbuh ist offline  
Alt 14.02.2006, 19:48   #10 (permalink)
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von xabbuh
Und welche der Zeilen ist Zeile 5?
Vermutlich:
Zitat:
Zitat von fmueller
PHP-Code:
<?php
     
public static $var1 "Wert1";
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

 


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
OOP: In einer Klasse nur vars mit bestimmtem Präfix holen tinchen PHP Tipps 2007 9 14.03.2007 15:17
CSS Class zuweisen Steffen Mayer PHP Tipps 2006 4 26.05.2006 12:44
Undefined class name 'db' heohni PHP Tipps 2006 4 20.02.2006 11:47
[OS|FreeGW] Class Problem ( cl_extended_database ) PHP Tipps 2006 20 08.02.2006 01:09
Mehrere Div-Layer per Class schliessen Diego1978 HTML, Usability und Barrierefreiheit 4 02.12.2005 12:10
PHP Class Datei Basirende Datenbank mit MySQL Syntax atom-dragon Beitragsarchiv 4 01.08.2005 06:57
Thema: class; Problem: Grundlegende :) PHP Tipps 2005-2 4 13.07.2005 18:40
[Erledigt] DALBUM Class problem... kann mir wer helfen? PHP-Fortgeschrittene 9 06.06.2005 14:57
bb stringparser class search Beitragsarchiv 4 14.04.2005 18:18
PHP Fatal error: Class 'MySQLi' not found in CSS PHP Tipps 2005 6 13.04.2005 15:24
Class -- Funktion Creativ PHP Tipps 2005 2 30.03.2005 23:10
List Class PHP-Fortgeschrittene 24 23.02.2005 17:19
a mouseover class ändern 022.9 HTML, Usability und Barrierefreiheit 4 18.02.2005 15:51
Class und require("mydbconnection.inc.php") MadCro PHP Tipps 2004-2 2 23.11.2004 11:29
Klassenschachtelung -> Cannot Redeclare Class ... Fehler PHP-Fortgeschrittene 5 21.10.2004 18:04


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, 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.