AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Hash-Arrays in Strings

Ein Thema von 3_of_8 · begonnen am 3. Jun 2006 · letzter Beitrag vom 3. Jun 2006
 
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: [PHP] Hash-Arrays in Strings

  Alt 3. Jun 2006, 12:48
Hier mal ein Tipp: wenn du keine Variable im String hast, verwende ' anstatt ". Der Parser geht bei Strings, die von "" umschlossen sind, durch und ersetzt alle Variablen mit deren Wert. Es ist also viel langsamer, wenn du keine Variable in so einem Block drinsteht. Da ist es besser du sparst dem Parser die Arbeit und verwendest '.

Zum Code: das geht ab mindestens PHP3, und wenn du noch sowas verwendest wirds Zeit dass ich dir nen Exorzisten nach Hause schicke. Entweder PHP 4.4.2, oder 5.1.x, aber alles was aelter ist kannste zum Fenster rauswerfen; das is einfach nicht.

Ich versteh ehrlich gesagt dein Problem nicht. Die Zeile hier:
Code:
eval("\$objectbit.=\"".getTemplate("object")."\";");
muesste er ohne Probleme durcharbeiten. So, und jetzt kommt mal ein Tipp: mach in deinem Script ganz ganz ganz am Anfang folgendes:
Code:
error_reporting(E_ALL);
Dann verwendest du mal eine nicht initalisierte Variable:
Code:
echo $foobar;
Wenn dir dein Server keine Warnung auszeigt, dann wird es Zeit eine lokale Entwicklungsumgebung einzurichten, in der error_reporting auf E_ALL und show_errors = 1 ist. Warum? Weil du ja sehn solltest, ob irgendwelche Fehler auftreten. Dann wuerde dir der Parser auch sagen, wenn was im eval() fehlschlaegt. Es ist zwar komplizierter zu debuggen, aber immerhin.

Und jetzt kommt noch ein gut gemeinter Tipp: Gib mal ordentlich Code her. Mit einer Zeile koennen wir nicht viel anfangen. Warum?
Naja, die Zeile:
Code:
eval("\$objectbit.=\"".getTemplate("object")."\";");
muesste so funktionieren, aber wenn der vollstaendige Code so aussieht:

Code:
function getObjectBit()
{
  $objectbit = '';
  eval("\$objectbit.=\"".getTemplate("object")."\";");
  return $objectbit;
}
dann glaub ich dir auch dass da nichts drin steht, ne. da muss naemlich vor Zeile 3 noch ein
Code:
global $object;
hin, sonst macht das ja keinen Sinn.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
 


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz