php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.08.2009, 09:23   #1 (permalink)
Neuer Benutzer
 
Benutzerbild von DerApfel
 
Registriert seit: 04.08.2009
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
DerApfel befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Superglobale Variablen definieren

Hallo,

ich habe mir für meine Projekte ein eigenes kleines Framework geschrieben. Dieses besteht aus verschiedenen Klassen, aus denen ich jetzt immer zu Beginn des "Haupt-Scripts" eine Instanz erzeugen muss, welche ich in den verschiedenen Funktionen dann noch zusätzlich mit global "einbinden" muss. Dieses Vorgehen hat natürlich viele Nachteile, z.B. wenn eine neue Variable dazukommt müsste ich jede Funktion bearbeiten usw.

Nun wollte ich Fragen ob es Möglichkeiten gibt, eine "superglobale" Variable wie z.B. $_POST[] oder $_GET[] zu erstellen, auf die ich jederzeit zugreifen kann?

Der Array $GLOBALS[] ist mir durchaus bekannt, allerdings komme ich ja damit eigentlich auch nur um das "einbinden" in die Funktion herum.

Grüße,
DerApfel

Geändert von DerApfel (04.08.2009 um 09:41 Uhr).
DerApfel ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.08.2009, 10:12   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 27.06.2009
Beiträge: 249
PHP-Kenntnisse:
Anfänger
cetalian befindet sich auf einem aufstrebenden Ast
Standard

Du könntest es mit einer Registry probieren, dürfte auch besseren Code ergeben
cetalian ist offline   Mit Zitat antworten
Alt 04.08.2009, 10:46   #3 (permalink)
Neuer Benutzer
 
Benutzerbild von DerApfel
 
Registriert seit: 04.08.2009
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
DerApfel befindet sich auf einem aufstrebenden Ast
Standard

Mhm, sehe ich gerade etwas falsch oder kommt das nicht auch mehr oder weniger auf $GLOBALS zusammen, nur unter anderem Namen? Mir wäre eigentlich daran gelegen schon meine Variablennamen ($user, $acl, $template, $tmp, $cookie, $db, $message usw.) weiter "einfach so" nutzen zu können, da alles andere eig. ein komplettes neuerstellen meines Codes erfordern würde.
DerApfel ist offline   Mit Zitat antworten
Alt 04.08.2009, 11:15   #4 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 3.881
PHP-Kenntnisse:
Fortgeschritten
mepeisen sorgt für eine eindrucksvolle Atmosphäremepeisen sorgt für eine eindrucksvolle Atmosphäremepeisen sorgt für eine eindrucksvolle Atmosphäre
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Nein. Des Rätsels Lösung ist eine statische Methode. MyRegistry::getDatabaseConnection() usw.
Oder etwas allgemeiner gehalten MyRegistry::get('database')
Auch dürfte dich in diesem Zusammenhang das Stichwort "Singleton" interessieren. Einfach mal danach im Zusammenhang mit PHP googlen.

Anders geht es so ohne weiteres nicht.

Die Zend-Engine selbst gibt durchaus her, weitere superglobale Variablen zu definieren. Das wird aber nicht auf Standard-Webspace funktionieren, da du hier in die Untiefen der Konfiguration u.ä. eingreifen musst, im Zweifelsfall gar neu kompilieren musst. Du findest hier ein Indiz: PHP: Runtime Configuration - Manual
Ob und wie das funktioniert, da muss ich aber passen, da selbst noch nie gemacht.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
Kostenlos-Webspace zu Weihnachten
mepeisen ist offline   Mit Zitat antworten
Alt 04.08.2009, 11:23   #5 (permalink)
Neuer Benutzer
 
Benutzerbild von DerApfel
 
Registriert seit: 04.08.2009
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
DerApfel befindet sich auf einem aufstrebenden Ast
Standard

Daran soll es nicht scheitern - Für was habe ich denn nen V-Server.

Wobei die Registry-Lösung eigentlich ebenfalls sehr interessant ist - Ich denke ich werde die Registry mal nutzen
DerApfel ist offline   Mit Zitat antworten
Alt 04.08.2009, 20:24   #6 (permalink)
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 3.294
Chriz sorgt für eine eindrucksvolle AtmosphäreChriz sorgt für eine eindrucksvolle AtmosphäreChriz sorgt für eine eindrucksvolle Atmosphäre
Standard

Wieso reichst du die Variablen, die du benötigst nicht an die entsprechenden Klassen weiter?

index.php?cat=news&action=edit&id=5
PHP-Code:
<?php
require "./config.php";
$db = new DatabaseConnection(..);
$frontController = new FrontController();
$frontController->setRequest($_SERVER["REQUEST_URI"]);
$frontController->setSystemParam("db"$db);
$frontController->execute();
?>
NewsController.php
PHP-Code:
<?php
class NewsController extends Controller_Abstract {
  public function 
editAction(array $params) {
    
$manager = new NewsManager($this->getSystemParam("db"));
    
$news $manager->getNews($params["id"]);
    
// ..
  
}
}
?>
Wenn das nicht möglich ist, hat man die Kontrolle über den Code verloren.
__________________
„Was interessiert mich mein Geschwätz von gestern.“ - Konrad Adenauer
Chriz ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] Variablen überprüfen mit isset() Jumper PHP Tipps 2008 8 13.09.2008 13:36
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Übergeben von Variablen an in PHP eingebundenes Perl-Script shredder01 PHP Tipps 2008 3 04.04.2008 09:25
Datei mit Variablen so includen, dass Variablen nutzbar? BartTheDevil89 PHP Tipps 2008 6 22.01.2008 20:57
unerklärliches Leeren von Variablen KuShi PHP Tipps 2007 2 08.07.2007 15:19
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
Locale Variablen oder SuperGlobale fuhrmara PHP Tipps 2006 4 30.05.2006 10:21
Datensatz mit einer Variablen definieren aherzog PHP Tipps 2006 16 01.03.2006 18:10
Variable aus Variablen zusammensetzen juhuwoorps PHP Tipps 2007 1 28.11.2005 21:50
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
Variablen PHP Tipps 2005 16 26.01.2005 19:21
[Erledigt] register globals off bei variablen Variablen... PHP Tipps 2005 4 25.01.2005 17:50
post variablen vorgaukeln PHP-Fortgeschrittene 4 11.01.2005 15:21
komplexe Variablen übergeben? PHP Tipps 2004-2 8 02.12.2004 08:29
Variablen per adresse übergeben rocco PHP Tipps 2004 7 24.07.2004 12:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php globale variable definieren, php globale variablen definieren, java globale variablen definieren, php globale variablen, globale variable in klasse einbinden php, globale variable erstellen, php globale variable setzen, php variable definieren, \controller_abstract\, php superglobal definieren, php superglobale definieren, zend config variablen definieren, php superglobale, php globale variablen einbinden, php function superglobal, php funktion globale variable erstellen, perl superglobale variable, javascript globale variablen this super, vbulletin 4 global.php einbinden, php superglobals setzen?

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