תקציר
זוהי הודעה מהירה לדון עוזר תצוגה פשוטה למדי יצרתי טיוח Zend Framework בסגנון הקובץ נוף רק אם היא קיימת. בדרך כלל מבקשים את הקוד כדי לעבד קובץ שאינו קיים תזרוק יוצא מן הכלל. לכן יצרתי עוטף Zend_View :: לעבד () שיטה שבה נקבע אם הקובץ קיים ואם כן הופך, אחרת פשוט מחזירה מחרוזת ריקה.
המשך קריאה "Zend Framework: לדקלם אם קיים" »
מחשוב , PHP , תכנות אינטרנט , Zend Framework , Zend_View , Zend_View_Helper |
בכיתה , מסגרת , HTML , PHP , לדקלם , נוף , נוף עוזר , Zend , Zend Framework , zend_view , Zend_View_Helper_Abstract
קראתי קודם ראש תבניות עיצוב
לאחרונה החלטתי לכתוב כמה דפוסי כדוגמאות PHP עבור התועלת שלי. 1 1 כי החלטתי הקוד הוא תבנית אובזרוור . הגדרה פורמלית של תבנית הצופה:
דפוס הצופה (משנה של אסינכרוני לפרסם / להירשם דפוס ) היא תוכנת עיצוב דפוס שבו האובייקט , קרא את הנושא, שומר רשימה של התלויים בו, הנקראים משקיפים, ומיידע אותם באופן אוטומטי על כל שינוי של המדינה, בדרך כלל על ידי התקשרות אחד שלהם שיטות . הוא משמש בעיקר כדי ליישם מערכות מבוזרות טיפול האירוע.
ככל שמערכות להיות יחד באופן רופף יותר ולוודא כי כאשר האירוע קורה כל מערכות הדורשות ידע של עדכונים אלה הם הודיעו. כך, למשל, לכתוב בלוג, לאחר שמירת הפוסט ייתכן שנצטרך לעדכן את מנוע החיפוש (למשל Lucene), לעדכן את מפת האתר שלנו, תגיות, משתמשים דוא"ל מנויים וכו 'דפוס הצופה מאפשר למפתחים להוסיף המאזינים נוספים ללא עריכת האובייקט הנצפה שלהם . על ידי הזרקת צופים (כלומר מנוע החיפוש צופה עדכון, מחולל מפת האתר, וכו ') לתוך הנושא (פוסט בבלוג, כלומר מערכת העריכה) אנחנו יכולים לאפשר לה לבצע את כל העדכונים הדרושים ללא כל שינוי.
המשך קריאה "-PHP תבניות עיצוב - דפוסי אובזרוור" »
עיצוב תבניות , כללי , PHP |
היישום , בכיתה , עיצוב , תבניות עיצוב , האובייקט , האובייקט חוקיים , התנגד חוקיים , הנצפה , הצופה , המתבונן דפוס , משקיפים , דפוס , PHP , PHP-oo , ובכפוף
אני נדרש ליצור טבלת HTML מ -PHP נתונים עבור פרויקט שאני עובד עליו. למרבה הצער אחרי קצת בגוגל לא הצלחתי באמת למצוא כל דבר היה מתאים אז החלטתי ליצור בעצמי.
אני מבין שזה לא יכול להיות בכיתה השולחן הטוב ביותר אי פעם לייצר ובטח יש כמה באגים עדיין בתוכו, אבל אני מעדיף לשתף ואם מישהו רוצה גרסה טובה יותר אני מוכן לבדוק את זה :) אני במקור רציתי ליצור השולחן בנוי של אובייקטים נפרדים למשל אובייקט תא, שורה אובייקט (בנה של אובייקטים ניידים), אבל הבנתי את התקורה על זה יהיה ענק! אז חזרתי כדי הגדרת מערך.
בכיתה תחשב את המספר המרבי של עמודות המשמשים הכותרת, כותרת תחתונה, או גוף ולכתוב על כך מספר העמודות. כותרות עליונות ותחתונות, וכן כיתוב הם אופציונליים. תכונות מורכבות מערך שם המפתח הוא שם התכונה ואת הערך הוא ערך תכונה. התכונות יוחלו על התג טבלה (על יצירת טבלה - אתחול בכיתה), שורות טבלה (מערך [שורה] [תכונה]), ותאי טבלה (מערך [שורה] [עמודה] [תכונה]) זה חל על כותרות עליונות ותחתונות, ו גוף השולחן.
דוגמה
אני תמיד למצוא את הדרך הטובה ביותר להסתכל על משהו היא להשתמש בדוגמה אז הנה זה בא:
$ טבלת = חדש HtmlTable (array ('מעמד' => 'sortable ",
'סגנון' => 'רוחב: 550px; "));
$ כותרת [0] [0] ['תוכן'] = 'מזהה';
$ כותרת [0] [1] ['תוכן'] = "כותרת";
$ כותרת [0] [2] ['תוכן'] = 'תאריך';
$ כותרת [0] [3] ['תוכן'] = 'אתר';
$ שולחן> AddHeader ($ כותרת);
$ I = 0;
foreach ($ newsList דולר newsItem) {
$ ItemLink = "{$ newsItem ['title']}";
$ TableBody [$ i] = array (0 => array ('תוכן' => $ newsItem ['id'],
התכונות של '=> array (' סגנון '=> "font-weight: bold;")),
1 => array ('תוכן' => $ itemLink),
2 => array ('תוכן' => $ newsItem ['date_posted']),
3 => array ('תוכן' => $ newsItem ['אתר']));
$ I + +;
}
$ שולחן> addBody ($ tableBody);
echo $ שולחן> drawTable ();
| תעודת זהות | כותרת | תאריך | אתר |
|---|
| 9 | חדשות 1 | 2009-04-04 10:40:00 | שם אתר |
| 10 | חדשות 2 | 2009-04-04 12:44:11 | שם אתר |
ו-HTML נראה כך:
= "sortable" style = "width: 550px;" > <מעמד לשולחן = בסגנון "sortable" = "width: 550px">
<THEAD>
<TR >
<ה > מזהה </ th>
<ה > כותרת </ th>
<ה > תאריך </ th>
<ה > אתר </ th>
</ Tr>
</ THEAD>
<TBODY>
<TR >
= "font-weight: bold;" >9</ td > <סגנון TD = "font-weight: bold;"> 9 </ td>
<Td > חדשות 1 </ td>
<Td > 2009/04/04 10:40:00 </ td>
<Td > שם האתר </ td>
</ Tr>
<TR >
= "font-weight: bold;" >10</ td > <סגנון TD = "font-weight: bold;"> 10 </ td>
<Td > חדשות 2 </ td>
<Td > 2009/04/04 00:40:00 </ td>
<Td > שם האתר </ td>
</ Tr>
</ TBODY>
</ Table>
קוד
HtmlTable.php
אם יש לכם הערות כלשהן בבקשה להפוך אותם מתחת, זה יהיה נהדר לשמוע קצת. אם בסופו של דבר להשתמש בו גם תודיעי לי ואני להרחיב אותו בעתיד :)