php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2008, 11:53  
Neuer Benutzer
 
Registriert seit: 10.03.2008
Beiträge: 3
basti1101
Standard Variable Argumente und Refenzen?

Hallö, ich hab nen kleines Problem, und zwar will ich eine unbestimmte Anzahl von Paramtern an eine Funktion übergeben (das es mit func_get_args() geht ist mir bekannt).

nur ich will gern Referenzen übergeben. da die Funktion einfach alle Variablen nach Sonderzeichen filtern soll. aber ich nicht den Umweg über ein Array gehen muss.

Beispiel:

PHP-Code:
$a "asdf12";
$b "asdf123";

function 
test() {
  
// ... func_get_args() und Code der die Variablen verändert ...
}

echo 
$a// nun soll zum Beispiel nur noch "asdf" ausgegeben werden 
Habt Ihr ne Idee wie ich eine Argumentsliste mit Refernzen realisieren kann oder ein passenden Thread? (hab per suche nichts dazu gefunden)

Thx, basti
basti1101 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.03.2008, 12:30  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

soweit ich den user-contributed notes im manual ( http://php.net/func_get_arg#usernotes + http://php.net/func_get_args#usernotes ) entnehmen konnte gibt es keinen "normalen" Weg wie man mehrere Parameter via Referenzen übergibt, ausser es sind Objekte, dann sollten sie automatisch als Referenz übergeben werden oder man macht es umständlich und übergibt einen Parameter als Array in dem wiederrum die elemente referenzen auf die eigentlich gewünschten elemente sind.

alles von mir ungetestet.
robo47 ist offline   Mit Zitat antworten
Alt 10.03.2008, 12:52  
Neuer Benutzer
 
Registriert seit: 10.03.2008
Beiträge: 3
basti1101
Standard

also das mit dem Araay ist mir auch schon eingefallen, nur leider ist das ein weg der die benutzerfreundlichkeit meiner bibliothek zu stark einschränken würde.

ok, dann mal ne blöd frage, da ich ja nicht ganz so viel mit php mache und auch mit andern sprachen zu tun hab:
wäre es möglich sowas wie $a = new int(); zu nutzen? um damit ein objekt davon zuerzeugen? auch wenn das nur ne teillösung wäre.
und ps: ich weiß das php eigentlich die datentypen selbst zuordnet.
basti1101 ist offline   Mit Zitat antworten
Alt 10.03.2008, 13:11  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ein int ist kein objekt, du könntest eine klasse intClass erstellen und dadrin deinen int speichern, aber das wäre zu viel aufwand und wäre in meinen augen unsinnig vom aufwand her.

Ansonsten bleibt halt nur die Möglichkeit eben für jede Variable, die Funktion neu aufzurufen, wenn es eine Methode einer klasse ist, kannst du ja ein fluid interface draus machen (immer return $this; )
dann kannst du es so mit etwas weniger Code aufrufen und es sieht noch etwas "mehr zusammengehörig" aus

PHP-Code:
// example
$class->method($param1)
       ->
method($param2)
       ->
method($param3)
       ...
       ->
method($paramN); 
robo47 ist offline   Mit Zitat antworten
Alt 10.03.2008, 13:18  
Neuer Benutzer
 
Registriert seit: 10.03.2008
Beiträge: 3
basti1101
Standard

naja die funktion für jede variable aufrufen hab ich am anfang meier ideen auch gehabt, aber ich dacht dass ich mehrere variablen auf einmal verarbeiten kann.

aber dann werd ich wohl doch für jede variable die funktion aufrufen (müssen)
basti1101 ist offline   Mit Zitat antworten
Alt 10.03.2008, 21:07  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo basti1101,

just my 2 cent:
Aus meiner Erfahrung kann ich dir sagen, dass es immer unsauber ist, keine sauberen Funktionsdeklarationen zu erstellen. Einerseits ist die API dadurch nicht sauber definiert, andererseits muss man innerhalb der Funktion haufenweise Typprüfungen und Parameter-Zuordnungen treiben. Das kostet Performance und erhöht die Fehleranfälligkeit.

Deshalb: jede Methode / Funktion mit einer sauberen Signatur erstellen!
__________________
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!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 11.03.2008, 07:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich würde diese Umsetzung verwerfen.
Zergling-new ist offline   Mit Zitat antworten
Alt 11.03.2008, 09:12  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

in einer bibilothek würd ich ja grundsätzlich auf globale variablen/funktionen verzichten. dein problem hört sich eher nach was für setters/getters an...
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Alt 11.03.2008, 15:07  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von brian johnson
in einer bibilothek würd ich ja grundsätzlich auf globale variablen/funktionen verzichten. dein problem hört sich eher nach was für setters/getters an...
Warum?
nikosch ist offline   Mit Zitat antworten
Alt 11.03.2008, 20:02  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch77
Zitat:
Zitat von brian johnson
in einer bibilothek würd ich ja grundsätzlich auf globale variablen/funktionen verzichten. dein problem hört sich eher nach was für setters/getters an...
Warum?
ich denke es geht eher um satz 2 oder?

durch __set() und __get() kannst du die variablen schön im hintergrund für das jeweilige medium escapen und validieren. baust du dir deine bibilothek nun korrekt auf, kannst du den eigentlichen programmcode klein und strukturiert halten (im ansatz entspricht das MVC)

nun ja, ich hätt besser meine klappe gehalten....wird ja doch nixt.
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson 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
Variable in Datenbankentrag asa PHP Tipps 2008 11 22.07.2008 09:51
Variable in SQL Anweisung verwenden Beatbox PHP Tipps 2006 2 08.08.2006 16:32
PHPMailer findet eigene Variable net seejay PHP Tipps 2007 6 04.01.2006 12:55
problem mit variable snatch-ic PHP Tipps 2007 5 13.12.2005 13:18
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
Variable als Variable behandeln ohne den Wert zu verwenden Pain-maker PHP Tipps 2005-2 4 11.09.2005 17:28
Session Variable oder Globale Variable ? PHP Tipps 2005-2 3 27.06.2005 21:49
Variable in Objekt php1 HTML, Usability und Barrierefreiheit 2 25.06.2005 08:08
[Erledigt] Variable in DB Datenbanken 1 17.04.2005 15:01
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] $_SESSION verwandelt variable auf einem Server in ein Array PHP-Fortgeschrittene 2 16.12.2004 13:25
2 Schleifen durchlaufen PHP Tipps 2004 1 14.09.2004 14:33
variable Variablen requesten PHP Tipps 2004 5 08.06.2004 20:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
basti1101, was sind refenzen ?, func_get_args php sauberkeit

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.