הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   |סקר| איך אתם עובדים עם Templates? (https://hosts.co.il/forums/showthread.php?t=61795)

Tom_l 11-04-08 18:36

ציטוט:

נכתב במקור על ידי RS324 (פרסם 622938)
אוקי אני אסביר לך את העיקרון ואחרי זה נקפוץ לוויכוח של preg_replace/str_replace /eval

בוא נצא מתוך נקודת הנחה שכל הקבצים (אפשרי גם מסדר אבל יותר פשוט להתחלה לעבוד עם קבצים) של העיצוב נמצאים בתוך תיקייה מסויימת (לדוגמא STYLE)

עכשיו נבנה פונקציה (זה רק הבסיס אפשרי לשפר אותה ולהוסיף המון תתי מערכות לבפנים)

PHP קוד:

function getTemplate($name='')
{
    if (empty(
$name))
    {
        return 
false;
    }
    
    
$Styledir '/style/';
    
    
    if (
file_exists($Styledir.$name.'.tpl'))
    {
        return 
file_get_contents($Styledir.$name.'.tpl');
    }
    else 
    {
        die(
'i am sorry but i cant find'.$name.'.tpl in style directory');
    }
    


עכשיו בתוך התיקייה של ה style ניצור קובץ שנקרא לו index.tpl
אתה יכול לבחור כל סיומת שתרצה
לא עקרוני....

ואז אתה משתמש בזה בסגנון הזה :

PHP קוד:


// some db and other functions herer


//יכניס את כל התוכן של הטמפלטס לתוך משתנה
$varX getTemplate('varx_demo');

// ידפיס את העמוד של ה INDEX
print getTemplate('index'); 

עכשיו תשב על זה ותפתח את זה...

אוקיי תודה רבה לך,
אני אנסה יותר מאוחר ואם לא אבין אערוך את הודעתי.

רק משהו אחד, לא הבנתי איפה נכנס הקטע של Eval הזה שרשמת?
שוב תודה רבה לך.

RS324 11-04-08 18:41

ציטוט:

נכתב במקור על ידי HeroMan (פרסם 622954)
אוקיי תודה רבה לך,
אני אנסה יותר מאוחר ואם לא אבין אערוך את הודעתי.

רק משהו אחד, לא הבנתי איפה נכנס הקטע של Eval הזה שרשמת?
שוב תודה רבה לך.

אתה תבין כשתרצה להכניס משתנים בתוך הטמפלטים...

Tom_l 12-04-08 08:10

ציטוט:

נכתב במקור על ידי RS324 (פרסם 622958)
אתה תבין כשתרצה להכניס משתנים בתוך הטמפלטים...

תראה, ניסיתי לעבוד בצורה שאמרת לי, וב-Template עשיתי משהו כזה:
PHP קוד:

<html dir="rtl">
    <
head>
        <
title>{$title)</title>
    </
head>
    <
body>
        {
$body}
    </
body>
</
html

ואח"כ ב-index.php אני צריך לעבוד עם str_replace בכדי להחליף את התוכן לא?
זה מה שני אמור לעשות בגדול...?

Kfir.G 12-04-08 09:19

ציטוט:

נכתב במקור על ידי HeroMan (פרסם 623044)
תראה, ניסיתי לעבוד בצורה שאמרת לי, וב-Template עשיתי משהו כזה:
PHP קוד:

<html dir="rtl">
    <
head>
        <
title>{$title)</title>
    </
head>
    <
body>
        {
$body}
    </
body>
</
html

ואח"כ ב-index.php אני צריך לעבוד עם str_replace בכדי להחליף את התוכן לא?
זה מה שני אמור לעשות בגדול...?

הרעיון של eval זה בעצם להתייחס למחרוזת שאתה מכניס אליו בתור קוד PHP... אם אתה רוצה לעשות משהו כזה אז עושים ככה
PHP קוד:

eval("\$str = <<<END\n".$html."\nEND;"



כל הזמנים הם GMT +2. הזמן כעת הוא 16:50.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ