php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2010, 13:58  
Erfahrener Benutzer
 
Registriert seit: 19.01.2010
Beiträge: 324
PHP-Kenntnisse:
Anfänger
chunky befindet sich auf einem aufstrebenden Ast
Standard Php Objektorientierung

Hallo.

Ich bin ein Anfänger in Sachen Objektorientierung.

Die folgenden Zeilen möchte ich gerne in eine Klasse auslagern und lesbarer schreiben:
PHP-Code:
/***outline***/
$tpl = new OutlineTpl('tpl:'.$templatename, array(
  
"cache_time" => 10,
  
"roots" => array(
    
"tpl" => './templates'
  
)
));
/***outline***/ 
Hier ist was ich bisher habe:
PHP-Code:
class BxOutline extends OutlineTpl
{
    public 
$tpl;

    public function 
__construct ($templatename,$cache_time 10,$root './templates')
    {
        
$this = new OutlineTpl('tpl:'.$templatename, array(
          
"cache_time" => $cache_time,
          
"roots" => array(
            
"tpl" => $root
          
)
        ));
    }
}
//...
$tpl = new BxOutline($templatename,10,'./templates'); 
Das funktioniert jedoch nicht. Wie kann ich das Objekt in einer Klasse richtig instanziieren?
chunky ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.01.2010, 14:06  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

PHP-Code:

        $this
->tpl = new OutlineTpl('tpl:'.$templatename, array(
          
"cache_time" => $cache_time,
          
"roots" => array(
            
"tpl" => $root
          
)
        )); 
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 19.01.2010, 14:08  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

PHP-Code:
public function __construct ($templatename,$cache_time 10,$root './templates')
    {
        
parent::__construct('tpl:'.$templatename, array(
          
"cache_time" => $cache_time,
          
"roots" => array(
            
"tpl" => $root
          
)
        ));
    } 
?> 
Chriz ist offline  
Alt 19.01.2010, 14:17  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Chris Lösung ist für deinen Fall jetzt die richtige.
BlackScorps Lösung ist eher eine Delegation-Pattern, nicht falsch aber nicht für diese Aufgabenstellung

Unter php4 wäre deine Lösung noch richtig gewesen, aber seit php5 ist das zuweisen von $this nicht mehr möglich.
draco88 ist offline  
Alt 19.01.2010, 14:27  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von draco88 Beitrag anzeigen
BlackScorps Lösung ist eher eine Delegation-Pattern, nicht falsch aber nicht für diese Aufgabenstellung
hack doch nicht auf mir rum ich hab es nicht gesehen dass er eine instanz im constructor der elternklasse erstellen wollte dachte nur dass er eine eigenschaft als instanz verwenden wollte
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 19.01.2010, 14:37  
Erfahrener Benutzer
 
Registriert seit: 19.01.2010
Beiträge: 324
PHP-Kenntnisse:
Anfänger
chunky befindet sich auf einem aufstrebenden Ast
Standard

Meinen Dank an alle! Das ist was ich gesucht habe.
Ich bekomme zwar jetzt eine Fehlermeldung der Template-Engine, werde mich deswegen aber an deren Programmierer wenden.
chunky 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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
cache_time php, objektorientierung user klassen mit php, objektorientierung php für anfänger

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:59 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