| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Vielleicht meint er ja auch eine Fabrikmethode. ![]() Ich denke aber viel eher, dass er vorhat, eine Instanz zu erzeugen und diese per Registry zu speichern.
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Moderator und Wett-König | Hallo nerere, Zitat:
Im APF ist dazu der connectionManager enthalten, der gemäß einer Konfiguration konkrete Instanzen erzeugt und verwaltet. Das hat den weiteren Vorteil, dass die gelieferten Datenbank-"Treiber" nicht nur pro Verbindung eineindeutig sind, sondern auch die Art der Datenbank noch weiter abstrahiert werden kann. Sicher nicht komplett, aber weitestgehend. Gegen Registry spricht meiner Ansicht nach auch, dass sich die Teile deiner Software, die sich mit Datenhaltung beschäftigen darauf verlassen müssen, dass deine Registry relevante Datenbank-Zugriffsschichten enthalten. Das erfordert manualles Eingreifen in der Bootstrap-Datei und entkoppelt damit die Anwendungen wieder weniger voneinander, da du Abhängigkeiten nicht getrennt behandeln kannst sondern manuell auflösen musst. Gehst du wie im zweiten Absatz vor, kann jede Komponente / Software selbst entscheiden, welche Datenbank-Verbindung sie nutzt und es ist auf einfache Weise möglich, in den unterschiedlichen Teilen deiner Anwendung sogar ohne globale Abhängigkeiten auf unterschiedliche Datenbanken zuzugreifen. Gestaltest du den ConnectionKey innerhalb deiner Anwendung noch konfigurierbar, so kannst du sogar pro "Einsatz" der Applikation unterschiedliche Connections nutzen. "Einsatz" meint hier, wo dein Modul eingesetzt ist. Just my 2 cent. ![]()
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ich persönlich finde es stimmiger, statt einer Registry (ja irgendwie nur ein GLOBALS Ersatz) eine DatenbankManagement-Klasse mit statischen Methode zu verwenden. Die brauchst Du nicht instanziieren und kannst trotzdem, bei Bedarf, mehrere Datenbakobjekte verwalten. Etwas roughes Beispiel: PHP-Code:
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- Geändert von nikosch (20.11.2008 um 20:21 Uhr). |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Thema is ja noch frisch, darf ich noch dies anhängen: Ich empfehle dir auf jeden Fall den Singleton, ob parameterisiert oder nicht. Zudem solltest du, wenn du schon "nur" mit MySQL und vor allem PHP5 arbeitest mysqli verwenden. Dabei gibt es ein kleines Problem mit dem Contructor, hier mein Code: PHP-Code: Geändert von Phoscur (01.12.2008 um 17:09 Uhr). |
| | |
| | ||
| Moderator und Wett-König | Zitat:
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geändert von dr.e. (01.12.2008 um 20:21 Uhr). | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Nein, ich rede nur von einer Datenbankklasse auf mysqli Basis mit Singleton. Das "Multi-" habe ich dran gebaut, weil dieser Singleton mehr als eine einzige Instanz unterstützt. Der Aufbau oben ist für die meisten Verwendungszwecke unsinnig, weil er zwar mehrere Instanzen, aber nur eine Config erlaubt. Das müsste man ändern, wenn man doch mehrere Verbindungen verwaltet. Mir ging es aber eher darum zu zeigen, wie man mysqli mit singleton verwenden kann. Dennoch ist dies eindeutig keine Fabrik. |
| | |
| | ||
| Moderator und Wett-König | Zitat:
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geändert von dr.e. (01.12.2008 um 20:20 Uhr). | |
| | |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | @Doc: seit wann gibt es eigentlich ein Fabric-Muster? Unter Fabric verstehe ich ein Computernetzwerk, aber kein Design-Pattern. Meinst du nicht eher Factory oder Fabrik?
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| | |
| | |
| Moderator und Wett-König | @Manko: shame on me! Habs ausgebessert...
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Strukturierung größerrer Projekte | #Avedo | Software-Design | 19 | 24.10.2008 11:10 |
| [Erledigt] Singleton Fehler | Andreas | PHP-Fortgeschrittene | 3 | 17.10.2008 16:27 |
| referentieller T_PAAMAYIM_NEKUDOTAYIM | nikosch | PHP-Fortgeschrittene | 31 | 28.05.2008 00:35 |
| Gegenstück zu parent:: oder Singleton abstrakt implement. ?? | Melchior | PHP-Fortgeschrittene | 13 | 26.07.2007 21:25 |
| Verständnisfrage Singleton in PHP | ve.ru | PHP Tipps 2006 | 3 | 13.06.2006 20:36 |
| Singleton besser als komplett statische Klasse ? | Cmon | PHP-Fortgeschrittene | 4 | 13.06.2006 00:34 |
| Singleton Klasse - falsche Werte | PHP Tipps 2005 | 20 | 24.05.2005 12:07 | |
| USB-Ports per Registry disablen | Orolhawion | Off-Topic Diskussionen | 5 | 23.08.2004 11:42 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysqli singleton, singleton mysqli, mysqli factory, mysqli verbindung in registry ablegen, mysqli singelton, php singleton mehrere seiten, php global vs singleton, singleton registry instanzen registrieren, aus performancegründen sollten sie mysqli verwenden, vorteile von mysqli, mysqli singleton registry, msqli singleton, mysqli factory class, mysqli als singleton, singleton mysqli problem, php registry datenbankverbindung, aus performancegründen sollten sie mysqli verwenden., php einfache registry, php5 mysqli singleton, php singleton vs static |