עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

המלצה למימוש VIEW ב MVC

Featured Replies

פורסם

היי, אני כותב מערכת MVC ודיי תקוע עם מימוש ה view.

אני עובד עם xsl בתור template engine ופרט ל xhtml אני מעוניין גם לפלוט את התוכן כ json וכ xml.

אם חושבים על זה בצורה ישירה, אין לי בעיה ליצור מחלקה של view וממנה להוריש את שלושת המחלקות הנ"ל כאשר כל אחת תביא פונקציונליות שתלויה ב content type שלי. אבל! וזה אבל גדול, נחשוב רגע על שרת REST. אין לי רצון לשכתב את הקוד (כי הוא כבר כתוב ועושה את העבודה) אבל שרת REST יכול לספק את המידע בכל מיני אופנים בניגוד לאפליקצית web שמספקת נניח רק xhtml ו json בקריאות ajax, אפליקצת ה REST תחזיר את התוכן לפי מה שמבקשים ממנה, כלומר:

http://api.example.com/users/13.json

מחזיר את המידע כ json, ולעומתו

http://api.example.com/users/13.xml

מחזיר את המידע כ xml, ויהיה טיפשי לממש שתי מתודות נניח


get_users_as_json($id)
get_users_as_xml($id);

אלה יותר חכם ליצור View factory שמחזיר את ה view הנכון, ואז לעבוד איתו בלי בכלל לדעת באיזה צורה התוכן יצא.

מה שאני מנסה לשאול (ודיי לא מצליח) זה איך לממש view ג'נרי שיוכל לפלוט לי כל סוג של מידע (נסתפק לפחות ב 3 שלמעלה).

כרגע יש לי view עם מתודה abstract אחת שהמטרה שלה היא לייצר את התוכן, וכל view אחר כגון JsonView יורש ממנה וממש את המתודה (במקרה הזה זה פשוט return json_encode($this->data).

המשותף לכולם שהם עובדים עם מערך. כלומר זה נראה ככה:


$view = new Xhtml/Json/XmlView();
$data = array();
$data['lang']='en';
$data['current_user'] = CurrentUser::get();
//get some more info from DB
$view->set_data($data);
echo $view->render();

כאשר מה שקורה בתוך ה render זה או json_encode עבור json, או array to xml אם XML, או array to xml + xslprocessor אם זה XHTML.

ואני לא חושב שלעובד עם מערך זה נוח.

אשמח להצעות.

פורסם
  • מחבר

זה טוב ויפה אבל זה עדיין לא מונע ממני לעבוד עם מערכים (שזה לדעתי הבעיה הגדולה ביותר).

פורסם

מה הבעיה בלעבוד עם מערכים?

פורסם
  • מחבר

אני לא יודע, אני שואל מה דעתכם, זה לא נראה לכם מגביל? לא נוח? אולי אתם מכירים דרכים אחרות? :)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.