![]() |
עזרה | הפונקציה eval
שלום.
במסד אני שומר טקסט כלשהו שבאמצע הטקסט אני רוצה לרשום ככה: PHP קוד:
בשליפת הטקסט אני לא רוצה לראות את השורה הזו אלא את הדף הנכלל. הבנתי שהפונקציה eval היא הפיתרון אבל לא מצליח ליישם את זה. במסד הinclude שמור, אני עושה בדף ככה: PHP קוד:
וככה: PHP קוד:
כלום, רק שגיאות או שהשורה מופיעה כמו שהיא. הנה דף הפונקציה: http://php.net/manual/en/function.eval.php מה אני מפספס? זוהי פונקציה יחסית מוזרה אבל יש מקרים שפשוט חייב אותה. אומרים שהיא טיפה מסוכנת כי שומרים קוד במסד..אבל אני אסתדר עם זה. תודה. |
כל הטקסט הוא קוד PHP? או חלק ספציפי?
נראה לי שמה שאתה צריך זה מנוע טמפלייטים |
רק השורה הזו, זהו!
|
eval מנסה להריץ את כל ה string שאתה מעביר לו כקוד PHP, בגלל זה זה לא יעבוד.
מה שאתה בעצם רוצה לעשות זה להוסיף מאקרו של include לטקסטים שלך אם אני מבין נכון? אפשר לכתוב איזה קוד עקום שיעשה משהו כזה, אבל נראה לי שעדיף להשתמש באיזה מנוע תבניות מוכן כמו smarty http://www.smarty.net/docs/en/bc.tpl |
מעדיף לא להשתמש במשהו חיצוני.
אז איך כן אפשר לעשות את זה בעזרה eval? תודה. עריכה: הסתדרתי, חשבתי קצת ומצאתי אחלה פיתרון...גם הרבה יותר מאובטח. תודה! |
כמו שכבר נאמר - eval זה לא הפתרון.
אם אתה לא רוצה להשתמש ספרייה קיימת בשביל לעשות את זה, האמת שזה בסדר, יש לך כאן צורך מאוד נקודתי. אז עכשיו אתה רק צריך לכתוב בעצמך משהו שידע לקרוא את הטקסט הזה ולבצע את ה- includes. זה לא בהכרח צריך להיות בפורמט שזה עכשיו, למעשה כדאי אפילו להחליף למשהו כמו: קוד:
{{INCLUDE: 'some_page.php'}} איך? אני מניח שאתה יכול להתחיל בלקרוא על איך לכתוב מערכת templates משל עצמך (משהו בסיסי זה לא כזה מסובך), תבין את התהליך, את הדוגמאות, את הרעיון ותמשיך משם. |
אם זה ספציפית include אתה יכול לשמור את השם של הקובץ ולעשות include למשתנה..
|
כל הזמנים הם GMT +2. הזמן כעת הוא 14:40. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ