הודעות מתויג: מסגרת

"היכנס באמצעות טוויטר" באמצעות Zend Framework

על ידי , יום חמישי 17 מרץ 2011 1:07 am

למרות כל השנאה בטוויטר כרגע, אני כבר יצאו ליצור קובץ בטוויטר יישום מבוסס. להיות מישהו שמנהל מספר חשבונות (הן ברמה האישית והן על פעילות הצדקה שלי) אני הזקוקים כלי מתישהו, כי אני פשוט לעקוף לכתיבה (עוד כי בעתיד הקרוב ...).

קראתי על Zend_Oauth_Consumer וכיצד ניתן להשתמש בו כדי לקבל אישור עבור אינטראקציה עם טוויטר באמצעות OAuth . הכל טוב ויפה, יש לי מפתח הגישה שלי, אני יכול בשמחה לכתוב משם בשם המשתמש. יש הרבה משאבים שם כדי לעשות את זה אז אני לא לשעמם אנשים.

השלב הבא היה לאפשר לאנשים לחזור לאתר, להכנס למערכת, לשנות את החשבון שלהם. זה המקום בו הגעתי בעיה קטנה. באמצעות דוגמאות קוד באתרי אינטרנט פירושו של דבר הייתי Twitter מבקש ממני אישור גישה שוב על כל כניסה, לא טוב. סריקה באמצעות מסגרת לא יכולתי לראות שום דבר שיאפשר לי רק לבקש אימות. זה לא אומר שלא, אבל לא נראה להיות מנגנון אימות, אשר עלול להיות מופעל בלי לדעת אסימון הגישה כבר.

החלופות היו ליישם יומן האתר מבוסס או לאחסן איכשהו אסימון הגישה של המשתמש במחשב הלקוח (מוצפן כמובן). אף אחד מהם נראה כמו פתרון טוב / מתאים.

המשך קריאה "להתחבר עם טוויטר" באמצעות Zend Framework "»

Zend Framework: לדקלם אם קיים

על ידי , יום ראשון 12 דצמבר 2010 16:19

תקציר

זוהי הודעה מהירה לדון עוזר תצוגה פשוטה למדי יצרתי טיוח Zend Framework בסגנון הקובץ נוף רק אם היא קיימת. בדרך כלל מבקשים את הקוד כדי לעבד קובץ שאינו קיים תזרוק יוצא מן הכלל. לכן יצרתי עוטף Zend_View :: לעבד () שיטה שבה נקבע אם הקובץ קיים ואם כן הופך, אחרת פשוט מחזירה מחרוזת ריקה.
המשך קריאה "Zend Framework: לדקלם אם קיים" »

Zend Framework תג הגוף צפה Helper

על ידי , יום שבת 21 אוגוסט 2010 11:13
Photo from  http://www.flickr.com/photos/daniello/

תמונה מ http://www.flickr.com/photos/daniello/

תקציר

כאן אני דן את היצירה של עוזר תצוגה עבור שינוי תגי HTML, ובאופן ספציפי תגיות הגוף. עוזר נוף שנוצר מאפשר פונקציונליות דומה * ראש / עוזרים להציג inlineScript כבר בתקן Zend מסגרת העוזרים להציג, אך מאפשר שינוי תוכניתית של תכונות התג. בהחלט לבדוק את דף הדגמה הקוד github.

מוטיבציה

תקן Zend העוזרים מסגרת נוף הם קבוצה גדולה של כלים לייעול משימות תצוגה שגרתיות ומאפשר שינוי / הוספה של סקריפטים וחוסם כותרת (שנערך בדרך כלל בפריסה) מתוך תצוגת מבלי להחיל פריצות מכוערים (כלומר ראש * / inlineScript התצוגה העוזרים).

על האירוע מצאתי צורך לבצע שינויים התג גוף, למשל הוספת onload , בכיתה, או תכונה סגנון וכו 'אני נדרש גם להיות מסוגל לבצע את זה מתוך העוזרים תצוגה אחרת. קחו את הדוגמה הבאה מאולץ ...

על X אתרים, דפים מסוימים כוללים תקן דוג'ו טפסים. צורות אלו דוג'ו מתקיימים בתוך העוזרים תצוגה לנוחות. בדרך כלל, הוחלט שלא לכלול את הדוג'ו -CSS שיעורים תג הגוף ורק להוסיף אותם בעת הצורך. יש אולי עוזרים להציג מספר בעמוד זה צריך להוסיף תכונות משלהם תג הגוף. (אמרתי שזה מאולץ)

הקוד זמין במאגר Git שלי @ github ואת דף הדגמה .
המשך קריאה "Zend Framework תג הגוף צפה עוזר" »

התחלה מהירה Symfony DI (הזרקת תלות) הדרכה

על ידי , יום שבת 14 אוגוסט 2010 14:21

מה זה תלות הזרקה (DI)?

הזרקת התלות היא טכניקה המאפשרת אובייקטים יחד באופן רופף בתוך יישום תוכנה. בדרך כלל אם האובייקט מחייב גישה לפונקציות של אחר זה יהיה מופעים מוביל פנימי למערכות יחד בחוזקה. על ידי הזרקת תלות ביישום לנו להזריק את החפצים הדרושים מוכן לשימוש (לעיתים מכונה גם היפוך של שליטה - IOC). קחו את הדוגמה הבאה:

  <? Php
 בכיתה מקבל ההחלטות {
     פונקציה makeDecision הציבור ($ פרמטרים array) {
         / / צריך מתאם מסד הנתונים
         $ DP = חדש DecisionParameters ();
         ParameterScore $ = $ DP-> getScore ($ פרמטרים);
         / * ...  ההחלטה עוד קצת היגיון ...  * /
         בתמורה ($ parameterScore> 50);
     }
 } 

היצירה של הקוד הוא אמר להיות יחד בחוזקה לאובייקט DecisionParameters. שכתוב לעיל באופן רופף יחד היינו צריכים משהו כזה ....

  <? Php
 בכיתה מקבל ההחלטות {
     $ פרטית _dp;
     הציבור __ תפקוד המבנה ($ DP) {
         $ This-> _dp = $ DP;
     }
     פונקציה makeDecision הציבור ($ פרמטרים array) {
         ParameterScore $ = $ this-> _dp-> getScore ($ פרמטרים);
         / * ...  ההחלטה עוד קצת היגיון ...  * /
         בתמורה ($ parameterScore> 50);
     }
 } 

בעוד להשיג את היתרונות של קוד יחד באופן רופף אנחנו מוסיפים למורכבות כך בכל פעם אובייקט מופעים לנו גם להפעלת התלות שלה ולהעביר את אלה מדי. כך, למשל, כך:

  $ = מקבל ההחלטות הבחירה החדשה ();
 echo $ הבחירה-> makeDecision (array ("מאמץ" => "נמוך", "השיבה" => "גבוהה")); 

עכשיו נעשה:

  $ DP = חדש DecisionParameters ();
 $ בחירה = חדש מקבל ההחלטות ($ DP);
 echo $ הבחירה-> makeDecision (array ("מאמץ" => "נמוך", "השיבה" => "גבוהה")); 

מצב זה הופך להיות כואב יותר ככל שמספר תלות של מעמד עולה, ומה אם את התלות עצמם יש תלות? זה יכול די מהר להפוך לסיוט הממשל אובייקט! הזן הזרקת תלות מכולות (או מסגרות) ...
המשך קריאה "Symfony להתחלה מהירה DI (הזרקת תלות) מדריך" »

Zend_Layout עירום Zend_View

על ידי , יום שלישי 10 אוגוסט 2010 23:47

במאמר זה אני מסתכל על השימוש Zend_Layout ו Zend_View יחד עם בקר חזית פשוטה להראות כיצד אפשר להתחיל להפריד לוגיקה עסקית והצגה בתוך היישום. כל קוד נגיש github:
Zend_Layout Zend_View עירום על GitHub .

המשך 'Zend_Layout הערומים Zend_View "קריאה»

Zend Framework לפי הגדרות מודול פריסה - המשך

על ידי , יום שלישי 16 פבואר 2010 20:48

כפי מעקב להודעה הקודמת שלי על בסיס לכל מודול הגדרות הפריסה של Zend Framework , עדכנתי את הקוד דורשים תצורה פחות לפני (לא שזה נדרש יותר כי כמה שורות תצורת היישום שלך!).
המשך קריאה "Zend Framework לפי הגדרות פריסה מודול - המשך טיפול" »

יצירת כתובת אתר מותאם אישית Zend צפה Helper

על ידי , יום חמישי 28 ינואר 2010 11:01

זה אולי נראה פשוט, אבל אני הייתי דופק את הראש מנסה ליצור כתובת אתר העוזר תצוגה מותאמת אישית של Zend Framework . אני ניתוב ההתקנה אשר מקבל את מודול מתחום קטן בשימוש אז אני לא יכול להשתמש בכתובת URL hardcoded פשוט.

המשך 'כתובת האתר של Zend יצירת תצוגה מותאמת אישית עוזר "קריאה»

מסלול בקשות sitemap.xml לפיקוח פעולה מותאמת אישית /

על ידי , יום רביעי -6 בינואר 2010 12:13 בבוקר

כדי ישירה בקשות / sitemap.xml לפיקוח פעולה מותאמת אישית והן שלך המסגרת Zend יישום פשוט להוסיף את הדברים הבאים application.ini או הקובץ config חלופית (למשל אני navigation.ini השימוש):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = ראשי
 resources.router.routes.sitemap.defaults.action = מפת האתר

קוד לדוגמה עבור פלט ניתן לראות על ידי יצירת פעולה הבקר המתאים (למשל Sitemap שלי טמון בקר, מדד פעולה מפת האתר):

 < PHP
 בכיתה IndexController
     מרחיב Zend_Controller_Action
 {
     / **
      * מעבד Sitemap המבוסס על הגדרת Zend_Navigation
      * /
     פונקציה sitemapAction הציבור ()
     {
    	 הד $ this-> View-> ניווט () -> מפת האתר ();
    	 $ This-> View-> פריסה () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (נכון);
     }
 }

Sitemaps יכול בקלות ובמהירות להיווצר באמצעות Zend_Navigation , הדרכה מהירה מאוד (ובדרך כלל מאוד שימושי עבור הדרכות Zend המסגרת) הוא מטיל Zend - דינאמי יצירת תפריט מפת אתר ו פירורי לחם .

Zend מסגרת לכל מודול הגדרות המבוססות על

על ידי , יום שישי 1 ינואר 2010 22:40

יצרתי לרשומה זו המחייבת תצורה פחות, ראה פריסת מודול מבוסס - Zend Framework .

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

  / Application
     / בקרים
         ...
     / מודלים
     / מודולים
         / Default
             / בקרים
             / פריסה
                 / תסריטים
             / נופים
                 / תסריטים
         / AnotherModule
             ...
     / תסריטים

הבעיה היתה להקים את הסקריפטים הפריסה על בסיס לכל מודול. התשובה הגיעה דרך באמצעות עוזר פעולה. הגדרת את הפריסות על בסיס לכל מודול כרוכה בשלושה שלבים:

  1. Application.ini (או הגדרת תצורה דומה):
     admin.resources.layout.layoutPath APPLICATION_PATH = "/ מודולים / admin / / פריסות סקריפטים" default.resources.layout.layoutPath APPLICATION_PATH = "/ מודולים / default / פריסות / סקריפטים" member.resources.layout.layoutPath APPLICATION_PATH = "/ מודולים / / חבר / פריסות סקריפטים "affiliate.resources.layout.layoutPath APPLICATION_PATH =" / מודולים / שותפים / פריסות / סקריפטים " 
  2. צור עוזר הפעולה שלך:
      <? Php
     / **
      * מגדיר את הנתיב הפריסה על בסיס לכל מודול
      *
      * @ מחבר לויד ווטקין <lloyd@evilprofessor.co.uk>
      * @ מאז 2010/01/01
      * /
     בכיתה Pro_Controller_Action_Helper_SetLayoutPath
         מרחיב Zend_Controller_Action_Helper_Abstract
     {
         / **
          * סטים פריסת נתיב מבוסס על מודול
          * /
         פונקציה preDispatch הציבור ()
         {
        	 מודול $ = $ this-> getRequest () -> getModuleName ();
    
    	     אם ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg ("bootstrap")) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ מודול] ['משאבים'] ['פריסה'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  [מודול $] $ config ['משאבים'] ['פריסה'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ("פריסה")
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. ולבסוף boostrap עוזר פעולה:
      ...
         / **
          * מגדיר סקריפטים הפריסה על בסיס לכל מודול
          * /
         מוגן פונקציה _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap ("frontController ');
    	     פריסת $ = Zend_Controller_Action_HelperBroker :: addHelper (
    	         חדש Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

Zend Framework: יסודות - סקירה

על ידי , יום שבת 28 נובמבר 2009 22:42

המעסיק שלי שילם לאחרונה קבוצה של מפתחים לנו לקחת את המסגרת Zend: יסודות הקורס, כאן אני לסכם את מחשבותי וחוות דעת על מסלול לאחרים. עבור אלו שרוצים לחסוך זמן, הנה סיכום שלי:

עבור מפתחים שלא היה להם זמן להסתכל על המסגרת Zend את הקורס הזה (Zend Framework: יסודות) מציע תמונה כללית טובה של מסגרת מציגים בפניך את תחומי מפתח ולתת מספיק מידע כדי להמשיך. עבור אלו שבילו זמן להסתכל במסגרת ויש להם בעקבות אחד או שניים הדרכות הקורס אינו מציע הרבה מעבר.

רקע

הייתי PHP מפתח במשך כ 5-6 שנים, החלו לעבוד עם Zend Framework על בסיס מרכיב במהלך 6 החודשים האחרונים. פיתחתי ו / או היה מפתח על כמה קטנה Zend Framework MVC sites. אני אהיה כנה, לא היה לי כמות עצומה של חשיפה במסגרות אחרות מנקודת מבט קידוד אבל ביליתי כמה שעות לחקור אתרים הפרויקט והערכת them. במסגרת והקהילה הסובבת Zend Framework זה מרגש למדי, נראה שיש אפשרויות ענק שבו שלה הולך.

על הקורס

הקורס מועבר על 9 שעות שני מפגשים WebEx (עם הפסקה של 10 דקות באמצע). הזמן הוא בילה עובר סדרה של שקופיות הניתנים על ידי Zend בדיון בכל עת. ניתן להשתמש במיקרופון כדי לדבר עם המורה, אבל למען האמת לא ראיתי אף אחד להשתמש בכל מה יותר חלון הצ'אט. בנוסף מכונת Ubuntu VMWare מסופק כי יש קוד למשל פרויקטים להגדיר גירסת ניסיון של Zend Studio. המנהיג הקורס מדבר עם המשתתפים גם על פתרון משולב VoIP, או שאתה יכול לחייג באמצעות אחד חיוג רבים ברחבי העולם במספרים.

במהלך החומר מורכב סקירה קצרה של המסגרת ואת תבנית MVC לפני הכותרת לתוך היישום מדגם בספר האורחים. הדיון הפגינו המנוף, Zend_Application, טבלאות DB, גישה למסד הנתונים, טפסים, סינון, ACL, אימות, וכו 'וכו' למעשה מכסה את כל הנושאים שאת זקוקה להם כדי לאתר את בסיסי הזמן פועל בכל נותן לך את הכלים ללכת להביא מתקדם יותר במסגרת (אם כי זה לא כמות "לראות באתר" זמן רב).

זמן ניתן לקודד כמה דוגמאות, כדי לפתח את "ספר אורחים" ויישום פשוט "ויקי". באופן אישי אני חש כי מתן קוד או בכל אפליקציה ואז מבקשים מאיתנו לפתח את מה שהיה למעשה העתק לצד לא ממש מספקים חווית למידה טובה. הייתי מעדיף לפתח יישומים דומים, אך לא זהים. ליישום למשל עם יתרון שיש מדריך להתייחס. לחילופין לבנות את היישומים מהתחלה עם מפגין היה של LED ואולי עוד שאלות על למה ואיך, ובכך להבין טוב יותר את המסגרת, אחרי הכל אתה יכול לחפש פרטים לאחר הקורס.

ההרצאה האחרונה כללה עובדים על יישום wiki בעזרת / הדרכה ממדריך. לאחר המשוב כמובן נלקח, הוא הדגיש כמה פעמים את המסלול כי Zend לוקח משוב ברצינות, למעשה ככל הנראה הגרסה שלנו כמובן היה חדש לגמרי. כמה מפתחים אחרים בחברה יהיה לקחת את הקורס בקרוב אז זה יהיה מעניין לראות אם זה לא קרה.

הסגנון כמובן היתה לא רשמית, מותר על המשוב ושיתוף פעולה בין המשתתפים לבין המדריך. מנהיג כמובן היה ידידותי, נגיש (כתובות דוא"ל שותפו לשאלות), ותוך מצגת השקופיות שלו היה קצת רעוע נראה כשיר לחלוטין במסגרת. הוא היה ברור מי משמש את המסגרת על בסיס קבוע ולא מישהו לימד ללמד את הקורס, אהבתי את החוויה "העולם האמיתי" מבחינה זו.

בסך הכל מרגיש

במובנים מסוימים מצאתי כמובן בזבוז זמן, אצל אחרים זה היה מאוד נוח. יש לקוות אני אביא סיבות שלי על פני בבירור, ואולי לתת קצת אוכל על המשוב מחשבה או שימושי (לדעת לי את זה לא סביר!).

על עצמי קורס זה נועד ברמה נמוכה מדי. אחרי שעבר את מדריך התחלה מהירה, קרא Zend Framework של רוב אלן בפעולה, ועבד עם המסגרת הקטנה לא ממש מקבל שום דבר יותר מדי. הייתי על אהבה כמובן להרים מסוף התחלה מהירה ולפתח מיומנויות נוספות.

עם זאת, הכותרת כמובן עושה המדינה באופן ברור "Zend Framework: יסודות" ו בהיבט זה כמובן משיג מה שהוא יוצא לעשות. חברים נוספים בצוות הפיתוח שלא העביר את הזמן בחיפוש במסגרת גמר כל פגישה בהתלהבות ושאל שאלות שהיה ממש נחמד לראות.

הכל לא הלך לאיבוד, זה היה טוב לבלות המאשר את הפרטים הבסיסיים של המסגרת ולקבל לשאול כמה שאלות באזורים בהם לא היה 100%. זה היה גם הזמן שאני צריך לשבת כל היום ולחשוב על קידוד באמצעות פרויקטים מסגרת בעתיד, משהו שאני כבר לא של מסוגל לעשות אחרת (אתם יכולים לדמיין את החברה שלך מסכימה לזה? :)). אחרון חביב אתה גם מקבל תעודת נחמד Zend לומר שאתה למד את הקורס (גם אם באמצעות דואר אלקטרוני).

Zend Framework אישור

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

תקציר

לאור כל מה שכתבתי לעיל, אני לסכם את הכל בשתי נקודות כדור קל:

  • חדש Zend Framework: קורס זה עושה בדיוק מה שאתה מצפה, זה נותן לך הקדמה יפה למסגרת ו הארקה טובה על יסודות שממנו ניתן לבנות. כמובן נראה ליצור עניין והתלהבות למסגרת בקרב מפתחים.
  • משמש מסגרת Zend: למרות שזה היה נחמד לתמוך כמה עקרונות בסיסיים מאוד הרגשתי את המאמץ, הזמן, קרנות לקחת את הקורס יכול של הושקעו טוב יותר במקום אחר. זה יהיה נחמד see Zend ליצור קורס חדש ברמה גבוהה יותר לקחת למפתחים לשלב הבא. - לפחות ברמה של הסמכה ומעבר בשביל זה הייתי להירשם מיד.












פנורמה נושאים על ידי Themocracy

5 מבקרים מקוון עכשיו
3 אורחים, 2 בוטים, 0 משתמשים
מקס מבקרים היום: 19 בשעה 05:00 לפנות בוקר UTC
החודש: 26 ב 2012/04/04 10:27 UTC
השנה: 69 ב 27-02-2012 9:56 בבוקר UTC
כל הזמן: 130 ב 28-03-2011 10:40 UTC