ציטוט:
נכתב במקור על ידי רומן
למה שמישהו ישמור קוד php במסד, אני ממש בספק, פונקציה מוזרה.
|
אתם יודעים שלפחות 50% מהמערכת של VBULLETIN מתבססת על הפונקציה הזאת ?
כל מערכת HOOKS של VB עובדת על EVAL וגם המערכת של הטמפלטים
למי שאמר שזאת אחת הפונקציות הפחות שימושיות - זה רק מראה כמה באמת אתה יודע על PHP
ל TNADAV
תחשוב שבמסד אני מכניס קובץ כזה
שהוא בעצם הטמפלט שלי....
PHP קוד:
<html>
<title>$pagetitle</title>
<body onload="$onload">
<div> my username is $userinfo[username]</div>
</body>
</html>
ובקובץ PHP אני עושה משהו כזה..
PHP קוד:
<?php
$pagetitle = 'my fucking nice page';
$sitename = 'my site';
if ($userid)
{
//get user info
$userinfo = get_userinfo($userid);
}
else
{
$userinfo = array(
'userid' =>0,
'username' =>'Guest',
'lastvisit' =>'Never',
);
}
$onload = "alert('Welcome to $sitename');";
require_once('db.php');
$temp = mysql_fetch_assoc(mysql_query("SELECT text FROM template WHERE templatename='index'"));
eval("print ".$temp[text].";");
?>
עכשיו... אם הייתי עושה
PHP קוד:
print $temp[text]
לבד אז הייתי מקבל את הקובץ של ה HTML איך שכתבתי אותו למעלה...
אבל ה EVAL הופך את כל הערכים לממשיים ומחליף אותם במה שמוגדר בתוך הדף של ה PHP
עוד דוגמאות לשימושים בפונקציה ה"מיותרת" הזאת ?