php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.09.2010, 10:08  
Neuer Benutzer
 
Benutzerbild von Knechtle
 
Registriert seit: 05.03.2010
Beiträge: 24
PHP-Kenntnisse:
Anfänger
Knechtle befindet sich auf einem aufstrebenden Ast
Standard Kindklasse und dessen Name

Morgen,

einen passenderen Titel habe ich nicht gefunden.
Ich suche eine möglichkeit bei einer Vererbung den Klassennamen der originalen Klasse zu übernehmen aber in einer geerbten Methode von der Elternklasse.

Da das relativ unverständlich ist einfach ein Beispiel:

PHP-Code:
class BaseObject
{
     private static 
$instance NULL;
     public static function 
getinstance()
     {
          
self::$instance = new $this;
          return 
self::$instance;
     }

PHP-Code:
class BaseApplication extends BaseObject
{
      ...
some code

index.php
PHP-Code:
include ...
$foo BaseApplication::getinstance(); 
Lieg ich in der Annahme richtig das dies nicht möglich ist oder suche ich einfach nur falsch

Vielen Dank schon mal
__________________
<?lol ?>
Knechtle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.09.2010, 10:36  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

Was meinst du mit Klassenname der Basisklasse übernehmen?

Das Beispiel ist übrigens relativ sinnfrei, was soll es darstellen?
Du bekommst immer ein neues Objekt vom Typ BaseObject...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 03.09.2010, 10:38  
Neuer Benutzer
 
Benutzerbild von Knechtle
 
Registriert seit: 05.03.2010
Beiträge: 24
PHP-Kenntnisse:
Anfänger
Knechtle befindet sich auf einem aufstrebenden Ast
Standard

Genau das isset ich möchte ein Grundgerüst für miene Klassen haben.

Das Problem ist der Singelton. Ich möchte sozusagen die Instanz von BaseApplication. Aber dafür müsste in BaseObject der Name der erbenden Klasse auftauchen.

Hoffe ist nicht mehr so Sinnfrei
__________________
<?lol ?>
Knechtle ist offline  
Alt 03.09.2010, 11:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Das nennt sich abstraktes SIngleton und ist erst ab PHP 5.3 möglich.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 03.09.2010, 23:04  
Neuer Benutzer
 
Benutzerbild von Knechtle
 
Registriert seit: 05.03.2010
Beiträge: 24
PHP-Kenntnisse:
Anfänger
Knechtle befindet sich auf einem aufstrebenden Ast
Standard

@nikosch: Super das habe ich gesucht vielen Dank hast mir sehr weitergeholfen.

Aber wenn die Frage erlaubt ist, kennt ihr einen anderen Weg es auch für ältere PHP Versionen zu realisieren?
__________________
<?lol ?>
Knechtle ist offline  
Alt 03.09.2010, 23:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Nur mit eval. Kannst mal die Boardsuche anschmeißen, da gibts irgendwo nen Thread von mir über SIngleton und Paraaadktylon..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 03.09.2010, 23:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Is aber schon 'was älter: http://www.php.de/php-fortgeschritte...tml#post343082 (Gegenstück zu parent:: oder Singleton abstrakt implement. ??)
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 03.09.2010, 23:49  
Neuer Benutzer
 
Benutzerbild von Knechtle
 
Registriert seit: 05.03.2010
Beiträge: 24
PHP-Kenntnisse:
Anfänger
Knechtle befindet sich auf einem aufstrebenden Ast
Standard

Dein Beispiel am Ende von diesem Thread ist häftig ^^

Auch die Disskussion dort finde ich sehr interessant. Kannst du mir das erklären was dr.e. genau damit meinte als du dein Singelton vorgestellt hattest?

Zitat:
Hallo nikosch77,

Initialisierungen von singleton instanziierten Klassen sollte man tunlichst von der Erzeugung trennen, da es sonst kein echtes abstract Singleton ist. Zudem musst du bei deiner Klasse unterscheiden zwischen "create class" und "get reference", was die Implementierung umständlicher macht.

Das Thema Initialisierung habe ich in meinem Framework in das "coreObject" eingebaut. Mit der Methode "createAndInitServiceObject()" kann man sich eine Applikations-Schicht oder eine Klasse singleton instanziieren und gleichzeitig initialisieren lassen, sofern die Klasse eine init()-Methode hat. So ist transparent, dass dort eine Singlton-Instanz zurückkommt egal ob ich eine erzeugt habe oder nur eine Referenz zurückgebe inkl. Initialisierung.
Aso und vielen Dank für den Link zum Thread
__________________
<?lol ?>
Knechtle ist offline  
Alt 03.09.2010, 23:52  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 993
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Abstract Singleton - php bar
__________________
Frank ist offline  
Alt 04.09.2010, 13:44  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.719
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Zitat:
Zitat von Frank Beitrag anzeigen
Das ist die PHP 5.3 Variante. Für frühere Versionen bedeuten alle Workarounds IMHO mehr Aufwand als es die paar eingesparten Zeilen rechtfertigen würde
fab ist gerade online  
 


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
Design einer DB für mehrsprachigkeit Squall Software-Design 35 08.10.2010 13:09
[Erledigt] Name der Datenbank lässt sich nicht übergeben kay899 PHP Tipps 2010 1 29.08.2010 09:59
Nächste Geburtstage aus Datenbank auslesen dieri1990 Datenbanken 8 15.05.2010 18:17
[Erledigt] Table erstellen mit variablem Name Rutor PHP Tipps 2009 10 07.01.2010 12:52
mehrere select count zusammen fassen reddevil82 PHP Tipps 2009 9 03.05.2009 21:45
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
[Erledigt] MYSQL name nicht $user Marti95. PHP Tipps 2009 3 08.03.2009 17:35
Kindklasse: Methoden über _call() ergänzen? ciss PHP Tipps 2008 2 29.12.2008 18:08
Name suchen in My SQL und in php ausgeben nina123 PHP Tipps 2008 6 10.12.2008 11:10
Name suchen in My SQL und in php ausgeben nina123 Trash 11 09.12.2008 18:51
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
[Erledigt] Bild anzeigen, wenn ein bestimmter Name aus MySQL gelesen wird AJ79 Datenbanken 3 15.07.2008 13:16
[Erledigt] Checkboxen mit gleichem Name -&gt; Value ausgeben pixelprinzessin PHP Tipps 2008 9 24.06.2008 14:44
Problem mit einfachem Mail()-Skript PHP Tipps 2005-2 5 08.10.2005 17:39
[Erledigt] a name andre farbe als a href mit css ohne classen HTML, Usability und Barrierefreiheit 2 07.09.2004 12:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php name der kindklasse, php name kindklasse, klassenname kindklasse php, php kindklasse, php kindklassen, php self kindklasse, php name der kindklassew, kindklasse php, kindklasse, php kindklasse in html, www.kindkasse, php in elternklasse name von kindklasse, klassennamen einer erbenden klasse php, php kind klasse, php __class__ kindklasse, kindklasse in elternklasse include, php instanz der geerbten klasse erzeugen, name kindklasse php, self php auf kindklasse, php kindklasse name

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 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