Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   php code in mysql datenbank (https://www.delphipraxis.net/132305-php-code-mysql-datenbank.html)

alcaeus 14. Apr 2009 21:24

Re: php code in mysql datenbank
 
Pauschale Aussagen sind einfach *beeeep*. eval ist per se nichts schlimmes - es gibt einige Situationen, in denen eval durchaus benoetigt wird.
Auch PHP-Code in die Datenbank zu knallen ist nichts negatives, ich denke da an Drupal, bei welchem viel Code fuer die einzelnen Seiten in der Datenbank als Node gespeichert wird.

So oder so kann man weder das eine, noch das andere pauschal als "schlimm", "schlecht", "evil" oder "unsauber" abstempeln. Nachdem das gesagt ist, zurueck zum Thema.

@Delphi-Phil:
Wenn du es wegen der Code-Organisation tun willst, dann ueberleg dir das nochmal gewaltig. So wie das aussieht hast du in der DB Eintraege mit verschiedenen IDs, die abhaengig von der eingegebenen URL abgerufen werden sollen. Was spricht dagegen, diesen Code in PHP-Dateien zu schreiben und mittels include() einzubinden und so auszufuehren? Der Code ist dadurch viel wartbarer, da du ihn nicht in der DB bearbeiten musst, ausserdem gilt das File-System normalerweise als "sicherer" Ablageplatz fuer Code, waehrend die Datenbank teilweise sehr einfach manipuliert werden kann.

@Turbo-Martin: eine Aufgabe zum Nachdenken: beschreibe den Unterschied zwischen
Code:
include('file.php');
und
Code:
eval(file_get_contents('file.php'));
Alternative zwei: schreibe folgenden Code so um, dass er ohne Verwendung von eval() funktioniert:
Code:
for ($i = '...', $eval = 'edolpmi', $j = 0, $k = array();array_unshift($k, substr($i = str_replace(substr($i, $j), base64_decode(substr($i, $j)), $i), $j++, 1)) < strlen($i); $eval = strrev($eval));eval($eval($k));
Sorry dass es etwas schwer lesbar ist, aber das war grad das einzige Beispiel das ich gefunden hab. Ich habs eh schon wieder halbwegs lesbar gemacht - den Text, der in $i geschrieben wird, ist aber rausgekuerzt. Ich denke das Beispiel sollte zeigen, dass es durchaus Gelegenheiten gibt, in welchen man sich auf eval() verlassen muss ;)

Greetz
alcaeus

Delphi-Phil 17. Apr 2009 13:19

Re: php code in mysql datenbank
 
ich habe mich nun für die include variante entscheieden!

Gibt es systeme, mit den ich den Quellcode besser verwalten kann??

Jetzt liegt einfach alles in einem ordnerbaum!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz