php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.02.2009, 22:03  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard [Erledigt] Eval() oder str_replace() was besser?

Hi,

ich hoffe hier gibts paar User, die mir mal in ner Kleinigkeit weiterhelfen können.

Und zwar geht es darum, dass ich nen kurzen String habe, also Beispiel sowas:

PHP-Code:
$str "http://www.test.de/index.php?page=PAGE"
Jetzt möchte ich PAGE durch ne Zahl ersetzen. Aber wie ist es besser, schneller und vor allem serversparend?

PHP-Code:
$str "http://www.test.de/index.php?page=$page"
und dann mit eval() (wenn natürlich vorher $page genau durchgecheckt wird um jegliche Sicherheitsprobleme auszuschließen).

ODER

PHP-Code:
$str "http://www.test.de/index.php?page={page}"
Und dann mit str_replace das {page} ersetzen.

Hat da jemand Erfahrung mit, bzw. kennt ne Variante wie ich das am besten rausgekommen kann?

Danke
BartTheDevil89 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.02.2009, 22:05  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

was hat das mit eval zu tun?
HPR1974 ist offline  
Alt 11.02.2009, 22:07  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
was hat das mit eval zu tun?
Ja mit eval kann ich mir doch genauso das $page mit dem entsprechenden Wert ersetzen lassen, wenn ich den vorher definiert habe.
BartTheDevil89 ist offline  
Alt 11.02.2009, 22:09  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

IMHO ist das sinnbefreit
HPR1974 ist offline  
Alt 11.02.2009, 22:11  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
IMHO ist das sinnbefreit
Naja....da auch manche TEmplate-System mit eval arbeiten, kann das nicht so schrecklich sein.
BartTheDevil89 ist offline  
Alt 11.02.2009, 22:11  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von BartTheDevil89 Beitrag anzeigen

Aber wie ist es besser, schneller und vor allem serversparend?
besser, ist immer eine frage des standpunktes!
schneller, bei deinen kurzen string merkste da nichts, und serversparend somit bei dem string ist auch nicht erwähnenswert!
deswegen ist es aus der sicht des servers relativ egal was du nimmst!
ich würde str_replace() verwenden, weniger aufwand
mfg
mistermint ist offline  
Alt 11.02.2009, 22:15  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Danke für deine Antwort...das Problem ist, dass diese Funktion durchaus auch mal etwa 6 bis 7 mal hintereinander durchgeführt wird. Deswegen bringt eigentlich schon jeder keiner kleiner serversparender Fakt was.
Gibts irgendwie ne Möglichkeit über die Laufzeit oder sowas von solchen Funktionen zu erfahren?
BartTheDevil89 ist offline  
Alt 11.02.2009, 22:19  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Zitat:
Zitat von BartTheDevil89 Beitrag anzeigen
Naja....da auch manche TEmplate-System mit eval arbeiten, kann das nicht so schrecklich sein.
das ist ja mal ne ganz schlaue Aussage...
die Funktion eval an sich ist auch nicht schlimm, es sind die unfähigen Anwender der Funktion.

Was bringt Dich zu der Annahme dass die FUnktion eval die Richtige wäre um einen String zu ersetzen?
Das würde mich ja mal interessieren wie dann Dein code aussieht.
HPR1974 ist offline  
Alt 11.02.2009, 22:21  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von HPR1974 Beitrag anzeigen
das ist ja mal ne ganz schlaue Aussage...
die Funktion eval an sich ist auch nicht schlimm, es sind die unfähigen Anwender der Funktion.

Was bringt Dich zu der Annahme dass die FUnktion eval die Richtige wäre um einen String zu ersetzen?
Das würde mich ja mal interessieren wie dann Dein code aussieht.
Habe seit längerm mit dem wbb gearbeitet und das komplette Templatesystem läuft dort über eval(). Und genau daher bin ich auf die Idee gekommen, dass es ja genauso gehen sollte, denn in dem Templatesystem passiert ja nix anderes.
BartTheDevil89 ist offline  
Alt 11.02.2009, 22:37  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
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

eval() is evil, basta. Es gibt zig Beweise, warum eval() Sicherheitslücken in den Code reißt wie keine andere Funktion, also lasst den Mist einfach weg! *grml*
__________________
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  
 


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
Was findet ihr besser? KeinGrips Server, Hosting und Workstations 0 06.09.2008 13:12
Besser: Datum mit PHP oder MySQL? SilentSight PHP Tipps 2008 16 21.07.2008 14:33
eval anno PHP Tipps 2008 9 30.09.2007 15:08
eval, preg_match ? php phrasen ? ^^ notyyy PHP Tipps 2007 10 21.12.2006 16:24
Code per eval umsetzen und Funktion integrieren Tscheggi PHP Tipps 2006 6 10.05.2006 10:46
[Erledigt] Navigation auf Smarty umstellen?! PHP-Fortgeschrittene 3 10.01.2006 09:19
array keys mit eval erzeugen ff-webdesigner PHP-Fortgeschrittene 4 22.10.2005 18:44
eval und DB PHP Tipps 2005-2 8 03.09.2005 09:58
irc bot probleme mit fread & eval PHP-Fortgeschrittene 8 02.07.2005 01:28
eval() Problem PHP Tipps 2005 7 18.04.2005 15:45
[Frage] Eval führt sich nur 1x aus danach ist ende... PHP Tipps 2005 4 17.03.2005 13:52
eval fehler abfangen PHP Tipps 2005 9 18.02.2005 19:37
[Erledigt] Vokabelabfrage per Formular / Besser in PHP oder DB ? PHP Tipps 2004 5 21.08.2004 20:21
Welches Layout ist besser? themonk Off-Topic Diskussionen 38 04.08.2004 16:57
Ergebnisse einer Abfrage besser anordnen?? PHP Tipps 2004 8 24.06.2004 23:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
eval als ersetzer bei str_replace, strtr oder str_replace, str_replace mit eval, sicherheitslücken eval, .str_replace andere, str_replace eval, wert durch einen anderen wert ersetzen in eval

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