לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 01-07-2009, 00:31
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
יצא PHP 5.3.0

http://php.net/releases/5_3_0.php

בתרגם לעברית:
  • נוספה התמיכה ל- namespaces (אפשרות ל"מקדם" לפונקציות או מחלקות בצורה שקופה (לא בטוח שזאת ההגדרה הנכונה, לא הכי הבנתי את זה))
  • Late static binding (פתרון של הגבלה של שיוך במחלקות סטטיות, תקראו את הקישור)
  • פונקציות אנונימיות (אפשרות להגדיר callback בלי להגדיר את הפונקציה קודם)
  • NOWDOC כמו Heredoc אבל המחרוזת עוברת כמו שהיא
  • ternary short cut "?:" במקום לכתוב ;'' : foo ? $bar$ אפשר לכתוב ;foo :? $bar$
  • jump label (משהו כמו goto (אפשרות להגדיר מקום בקוד ואחר-כך לעבור לשם) בצורה מוגבלת
  • __callStatic() (עוד לא בדקתי מה זה)
  • שיפורי ביצועים
  • נוספה אפשרות ל- garbage collection ל- cyclic references (אשמח אם מישהו יכתוב מה זה אומר)
  • נוסף mysqlnd הרחבה ל- MySQL משוכתבת לביצועים יותר טובים והסרת מגבלות שהיו קודם
  • תמיכה טובה יותר במערכת ההפעלה Windows, ביניהם גרסת 64 ביט ניסיונית ו- VC9 (יש עכשיו שתי גרסאות של PHP ל-Windows: אחת היא VC6 שזה גרסא שמקומפלת ב- Visual Studio 6 ו-VC9 שהיא גרסא שמקומפלת ב- Visual Studio 2008, גרסאת VC9 יותר יציבה ומהירה, אבל אם משתמשים ב- apache צריך להשתמש ב- VC6)
  • עיגול של טיפוס מסוג float יותר עקבי
  • הערות על קוד מיושן מנוהלות ב- php.ini דרך E_DEPRECATED במקום E_STRICT
  • בוצעו שינייים ב- php.ini בשביל לאפשר יותר גמישות
  • הרחבות חדשות: ext/phar, ext/intl, ext/fileinfo, ext/sqlite3, ext/enchant
  • מעל ל-140 באגים תוקנות, בניהים בעיקר ב- ext/openssl, ext/spl וב- ext/date
בשחרור הזה גם הורידו כל מיני דברים:
  • Parameter parsing API unification will cause some functions to behave more or less strict when it comes to type juggling (לא הכי הבנתי, שמישהו אחר יתרגם את זה)
  • ההרחבות האלו לא קיימות יותר בגרסא זו: ext/mhash, ext/msql, ext/pspell, ext/sybase
  • ההרחבות האלה עברו ל- PECL:‏ ext/ming, ext/fbsql, ext/ncurses, ext/fdf
  • תאימות ל- Zend Engine 1 הוסרה
_____________________________________


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 01-07-2009, 12:24
  GreenBerret GreenBerret אינו מחובר  
 
חבר מתאריך: 13.12.05
הודעות: 1,963
בתגובה להודעה מספר 1 שנכתבה על ידי tnadav1 שמתחילה ב "יצא PHP 5.3.0"

אני ממש לא מבין את החבר'ה האלו, ויש לי כמה בעיות עם הגרסה הזו.
  • Namespace (מרחבי שם) - מה הקטע הזה שאי אפשר להגדיר אותם באמצע הקובץ. או שאי אפשר לרשום קוד אחר בתוך הקובץ. או שזו חייבת להיות השורה הראשונה בקובץ...
  • פונקציות אנונימיות - הגיע הזמן סוף סוף שיהיה משהו כזה בPHP, רק חבל שזה עבודה בעיניים. במקום להיות רציניים ולהגדיר רפרנסים לפוקנציות ומחלקות הם באים ומייצרים משהו כל כך טיפשי. ה use הזה, מה הרעיון? הרי הפונקציה היא אנונימית ומקומית, למה צריך להגדיר לה באילו פרמטרים היא משתמשת? היא אמורה לרוץ בקונטקסט שבוא היא הוגדרה.
לא ששאר הדברים לא טובים. אבל כותבים את אלו ראשונים כאילו שזה הטופ של הטופ, כשבעצם זה נראה כמו פאטש לדברים שקיימים.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 01-07-2009, 13:59
  GreenBerret GreenBerret אינו מחובר  
 
חבר מתאריך: 13.12.05
הודעות: 1,963
בתגובה להודעה מספר 7 שנכתבה על ידי tnadav1 שמתחילה ב "אז אתה אומר שיש מקרים שחייבים..."

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

בוא נגדיר פונקציה חדשה שנקראית array_each, שהיא בעצם array_walk. זאת על מנת להדגים איך אתה יוצר פונקציה משלך עם callback כזה. ואחרי זה נשתמש בה ונדגים את הבעיתיות בנושא.
קוד PHP:
 function array_each(&$array$callback) {
  foreach (
$array as $k => $v) {
    
$callback($k$v); // Calling the callback function
  
}



עכשיו נניח שאתה רוצה להשתמש בה כדי להדפיס את הערכים של המערך.
קוד PHP:
 array_each($my_array, function($k$v) {
  echo 
$v;
}); 


זה אומנם נראה פשוט (וקצת דבילי). אבל עכשיו אנחנו רוצים לסכום את המערך. בוא נראה איך משתמשים בזה:
קוד PHP:
 $sum 0// Initializing a variable
array_each($my_array, function($k$v) use (&$sum) {
  
$sum += $v;
}); 

שים לב שהייתי חייב לשים
קוד PHP:
 use (&$sum
במקום לרשום דבר כזה:
קוד PHP:
 $sum 0// Initializing a variable
array_each($my_array, function($k$v) {
  
$sum += $v;
}); 


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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 01:19

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר