אתה נמצא כאן הקדמה

הקדמה

מהי שפת PHP?

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

מה PHP לא עושה?

  • שפת ה-PHP לא מחליפה את תגי ה-HTML!!! תגי ה-HTML נועדו לעיצוב דפי WEB, ואילו שפת ה-PHP נועדה לנתח מידע על השרת ולהוציא פלט מתאים. לעומת זאת, באמצעות PHP ניתן להוציא פלטים שונים של קוד HTML בהתאם למצבים שונים שנבדקים בסקריפט.
  • שפת ה-PHP לא מחליפה סקריפטים של JavaScript או של VBScript!!! סקריפטים של JavaScript או VBScript נועדו לרוץ בזמן אמת על מחשב הלקוח, ואילו סקריפטים ב-PHP רצים רק על מחשב השרת, וקוד ה-PHP לא מגיע כלל למשתמש (אלא רק הפלט).
  • שפת ה-PHP לא מחליפה טכנולוגיות אינטרנט אחרות!!! למשל, Flash ו-XML. שפת ה-PHP פעמים יכולה ליצור פלט לפי טכנולוגיה מסויימת (למשל XML), אך היא לא מחליפה אותה, אלא רק משתמשת בפרוטוקול שלה.

מה PHP כן עושה?

  • שפת ה-PHP מחליפה את CGI!!! CGI הוא קובץ בינארי שנמצא על השרת, ותפקידו דומה ל-PHP - לנתח מידע תוך שימוש במשאבים של מחשב השרת ולהוציא פלט מתאים. בדר"כ קבצי ה-CGI נכתבים ב-Perl או ב-C, שהן שפות תכנות גדולות שלא נועדו מלכתחילה לתכנות באינטרנט, ולכן קצת מסובך לתכנת באמצעותם באינטרנט. PHP היא שפה שמושתת על עקרונותיהם של Perl ו-C, ונועדה מלכתחילה לתכנות באינטרנט, ולכן התכנות באינטרנט באמצעות PHP הוא נוח יותר ועם מגוון רב יותר של אפשרויות.
  • שפת ה-PHP מחליפה את השפות המקבילות לה: ASP ו-JSP!!! השפות ASP ו-JSP הן שפות לתכנות באינטרנט שקמו לאחר PHP ומחקות אותה. שפת ה-PHP היא טובה יותר ומציעה אפשרויות רבות מהן.

תולדות השפה

רזמוס לרדורף (Rasmus Lerdorf) חיפש דרך קלה להכניס נתוני קורות חיים דרך האינטרנט באמצעות מפענח שפה שירוץ על צד השרת. בשנת 1994/5 הוא יצר את מפענח השפה PHP/FI (שעומד עבור Personal Home Page tools / Forms Interpretter) שנועד בעיקר לטיפול בטפסים. לרדורף פיתח גם את הגרסה השניה, PHP/FI 2.

השפה שלרדורף בנה הייתה קצת מסורבלת ושונה מאוד מהשפה המוכרת כיום. זאב סורסקי (Zeev Suraski) ואנדי גוטמנס (Andy Gutmans), 2 מפתחים ישראליים מהטכניון (!!!), פיתחו מהיסוד את שפת PHP המוכרת לנו כיום, וקראו לה PHP שעומדת עבור Hypertext Preprocessor. לאחר שלרדורף הסכים להפסיק את הפיתוח של PHP/FI, החליטו סורסקי וגוטמנס להוציא את השפה שפיתחו כגרסה השלישית, PHP3, כהמשך לגרסה השניה של לרדורף ובכדי להבהיר ש-PHP3 מחליפה את PHP/FI 2. שפת ה-PHP שסורסקי וגוטמנס פיתחו הייתה הגרסה הראשונה שהייתה מלאה, מונחית עצמים (Object Oriented), איפשרה הרחבה לתמיכה במסדי נתונים ובפרוטוקולים שונים, ובכלל הייתה השפה שמוכרת לנו כיום. סורסקי וגוטמנס ממשיכים בפיתוח השפה בטכניון, והם אלה שגם הוציאו את PHP4 הנמצאית היום בשימוש.

לסיכום הייתי רוצה לחדד מספר דברים:
שפת ה-PHP (המוכרת כיום) היא פיתוח ישראלי  כחול-לבן . אז הנה לכם עוד מוצר מוביל מבית טוב.
שפת ה-PHP היא השפה המוצלחת הראשונה שנועדה לתכנות באינטרנט, ואחריה קמו ה-"חיקויים": ASP, JSP וכל השאר.

אופן הפעולה של PHP

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

כך עובד מנוע PHP באינטרנט:

מדוע דווקא PHP?

ישנן שפות נוספות שמציעות כמעט את מה ש-PHP מציעה, כגון ASP (של Microsoft) ו-JSP (של SUN, מפתחת JAVA). אם כך, מדוע דווקא PHP עדיפה? נביא מספר יתרונות ייחודיים ל-PHP:

  1. השפה מאוד קלה להבנה וללמידה. היא דומה מאוד לשפת C הידועה, ומי שמכיר את C יוכל ללמוד את PHP בקלות.
  2. PHP היא שפה חזקה יותר, אמינה יותר ויציבה יותר מ-ASP ומ-JSP, ובעלת יכולת עבודה עם בסיסי נתונים רבים (שהנפוצה בהם היא MySQL).
  3. שפת PHP מספקת אבטחה גבוהה מאוד, שמתעצמת אם היא בנויה על שרת Apache ומערכת הפעלה Unix.
  4. PHP היא פיתוח ישראלי  כחול-לבן , ולכן תומכת בעברית בצורה מלאה.
  5. ניתן להריץ את מנוע ה-PHP על מגוון רחב של מערכות הפעלה ושרתים, כך ש-PHP אינה מוגבלת לשרתים או למערכות הפעלה מסויימות.
  6. שפת ה-PHP מותאמת בעיקר לעבודה עם אתרים ברשת. (למעשה, ניתן לבנות אתר שלם עם קובץ PHP אחד! בדיוק כמו אתר זה...).
  7. שפת ה-PHP היא שפת "קוד פתוח" (opensource). זאת אומרת שכמעט כל אחד יכול לפתח את השפה, ומשמעותה העיקרית היא ש-PHP בחינם!
  8. PHP היא אחת השפות הראשונות שנבנו בייחוד לתכנות אתרים דינמיים באינטרנט (אם לא הראשונה), ונבנתה לפני ASP ו-JSP. ובנוסף לעובדה ש-PHP היא שפת "קוד פתוח", היא מתפתחת מהר יותר ובצורה טובה יותר ממתחריה.

למי PHP מיועד?

שפת ה-PHP מיועדת לכל אחד שרוצה לבנות אתר דינמי, שמשתמש בבסיסי נתונים, שמתעדכן בקלות, ושמספק אבטחת מידע טובה. שפת ה-PHP מתאימה יותר לאנשים שמכירים את שפת C ו/או Perl, שהרי היא מושתת על עקרונותיהם של שפות אלו, אך גם לאנשים שלא ממש מכירים את השפות הנ"ל לא תהיה בעיה ללמוד את PHP.

מה באתר?

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


תגובות בנושא

ASP -->> PHP ? 02-12-02 12:01
 עפר טמיר
#59

במאמר כתוב כי ASP קמה אחרי PHP ומחקה אותה. האם ישנה אפשרות להמיר (ולא ע"י כתיבה מחדש...) אתר שנכתב ב-ASP ל-PHP?

access 2 sql 05-12-02 17:01
 שמעון
#190

איך אני מעביר מ access ל sql אני יודע שיש תוכנות אבל הבעייה היא שה access שוקל 100 מגה והתוכנות תמיד נתקעות מתי שאני רוצה להמיר
מה לעשות

מרשים מאוד 06-12-02 23:00
 עוז
#280

אני מבין שיש לנו במה להתגאות, PHP היא אכן טכנולוגיה מדהימה והופתעתי לגלות שהיא פיתוח ישראלי כחול-לבן - גאה !

כחול לבן! 07-12-02 15:00
 יונתן
#321

פעם ראשונה ששמעתי שזה כחול לבן!
עידד עידד עידד!!!

אפשר גם לתכנת ולבנות דרך נשפה פורום ? 08-12-02 05:01
 מלך
#350

אפשר בעזרת שפת php לבנות פורום

תכנות פורום ב-PHP 08-12-02 07:00
 אלי חן (מנהל)
#358

בטח שכן!!! אפילו הפורום המוכר ביותר בנוי בשפת PHP.

הסבר מעולה! 08-12-02 08:00
 שחר חן
#365

הסבר מעולה

תגובה 09-12-02 01:01
 מתכנת ASP
#395

שלום!
אני מתכנת ASP זה שנה וחצי..
ככל הידוע לי PHP אינה יכולה לעבוד עם אובייקטי אקטיבאקס שקיימים ב-ASP.
אז מה אם היא נבנתה לפני?
PHP ו-ASP יכולות להגיע לאותו רמת ביצועיים ואפילו ASP.NET לוקחת את שניהן...

אבטחה?במה PHP יותר מאובטחת?

אני כמתכנת גם JS ,יכול טוב מאוד להבין C מבלי לגשת ל-PHP.

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

אמממ 09-12-02 01:02
 מתכנת ASP
#397

אלי שני השפות מגיעות לרמת ביצוע שווה תסכים איתי.
כתיבת קוד ASP עם JS יכולה להיות יעילה מכתיבת קוד ב-PHP.
לי עם ASP אין בעיות עברית...
אני יודע JS נפלא זה אומר שאני צריך להכנס ל-PHP בגלל סינטקס ?בכלל לא.

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

הרבה אתרים עובדים עם ASP מאשר עם PHP,ויש כאלה שבתהליכי מעבר לדוטנט.

עוד דבר :"השפה מאוד קלה להבנה וללמידה. היא דומה מאוד לשפת C הידועה, ומי שמכיר את C יוכל ללמוד את PHP בקלות." אני יודע JS ואני יכול לעבוד כשפת הסקריפט ל-ASP עם JS.

כעקרון אני מבין שאין לה אובייקטי COM מובנים משלה אלא פונקציות וגם היא משתמשת באובייקטי COM של ASP.

בקיצור קהילת הPHP בארץ לא מפותחת כמו קהילת ה-ASP הגדולה,אנשים מעדיפים להשאר עם ASP ולעבור כבר עכשיו לדוטנט.

המשך תגובתי 09-12-02 03:01
 מתכנת ASP
#403

כשדברתי על JS דיברתי איתה כשפת הסקריפט לכתיבת ASP ולא לשפת צד שרת.

כשדיברתי על רמת ביצוע התכוונתי שבשני השפות ניתן לעשות את אותן הדברים.
אוקיי PHP יותר מהירה אבל לא יותר רבגוונית כמו ASP.
נכון אובייקטי COM מעיטים אבל מאוד נוחים לעבודה ואני לא יודע אם פונקציות של PHP יש את אותן האופציות או שהם מוגבלות בעבודה

אני יחפש לך דיאגרמה ניטראלית(לא מאתר הבנוי בPHP).

עוד נקודה דיברת על אובייקטי COM שנועדו בשביל עבודה נוחה עם מערכות הפעלה שונות.

אז לPHP יש תחליף לאובייקט COM?אני לא ראיתי,ראיתי רק פונקציות(כמו mail וגם של העלאה קבצים).

אני באמת יחפש לך דוגמא ויעלה אותה.
כל הכבוד שאפשר לנהל פה שיחה.
יום נעים

המשך>המשך 09-12-02 05:01
 מתכנת ASP
#410

רק עוד נקודה אחרונה היא עניין ההתחדשות.
מהי שפת העתיד לPHP?
לASP אתה יודע את התשובה דוט נט.

תודה

העתיד של PHP 09-12-02 05:01
 אלי חן (מנהל)
#411

העתיד של PHP פתוח.. כעיקרון, החברה העיקרית שמפתחת את מנוע ה-PHP היא חברת Zend שמפיצה את מנוע ה-PHP בחינם (גם את הקוד שלה). כיום PHP מצויה בגרסה 4, ומשתמשת במנוע Zend גרסה 1. בקרוב תיצא PHP בגרסה 5, עם מנוע PHP חזק יותר, מהיר יותר ומאובטח יותר - מנוע Zend גרסה 2.

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

ההתקדמות 09-12-02 06:02
 מתכנת ASP
#413

לפי דבריך PHP מתעדכנת אבל אין לה שפה שהיא ההמשך.
דוט נט היא ההפך הגמור מASP היא מזכירה שפות תיכנות(C#).

חידוש שפה 09-12-02 06:02
 אלי חן (מנהל)
#415

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

עד היום, PHP הוכחה כשפה מהירה ויציבה, והיא רק הולכת ומשתפרת.. אין צורך ל-PHP לשנות קונספט או נקודת מבט, כי משהו שהוא טוב לא משנים אלא אם כן יש משהו יותר טוב..
חוץ מזה, PHP עוברת שינוי די משמעותי מגרסה (מלאה) לגרסה מלאה אחרת.. למשל, PHP3 הייתה השפה שפותחה ע"י זאב סורסקי ואנדי גוטמנס (2 הישראלים מהטכניון), אח"כ ב-PHP4 הוכנס שינוי גדול שהוא שילוב של מנוע Zend לשפה.. ובקרוב תיצא PHP5 עם מנוע Zend 2 משופר יותר ומאובטח יותר.
השינוי "הגדול" של PHP קרה כבר ממזמן.. רזמוס לרדורף בנה את שפת PHP בגרסאות 1 ו-2 לצרכים אישיים שלו, וראשי התיבות של השפה היו Personal Home Page. אח"כ באו זאב ואנדי.. שינו את השפה מקצה אחד לקצה השני.. ובהסכמת רזמוס לרדורף, הוחלט להמשיך עם אותו השם בגרסה השלישית, וראשי התיבות שונו ל-Hypertext Preproccessor. אז PHP עברה את המהפך הגדול בשנת 95.. ועכשיו היא רק עוברת שיפורים. ל-PHP יש כבר ניסיון ארוך טווח, בעוד ש-ASP דוט נט רק בתחילת דרכה.

תגובה סוגרת לדיון זה מצדי 09-12-02 01:01
 מתכנת ASP
#417

אותי לא שכנעת בגרוש!.
זהו..

נ.ב יש לך אתר עם הרבה תוכן כל הכבוד למרות שזה לא נוגע כ"כ אליי.

בהצלחה בהמשך דרכך
יום נעים

סוף דבר 09-12-02 01:01
 אלי חן (מנהל)
#418

אחלה... בהצלחה גם לך ותודה :)

לכל מלעיזי PHP 09-12-02 03:00
 ירון
#423

תרשו לי להתחיל דווקא בסוף.
בשורה התחתונה, ASP עולה כסף, ו PHP היא בחינם. ואני בטוח ש 99% מכל מתכנתי ה ASP שביניכם שעובדים על חלונות ומריצים IIS הם עברינים, כיוון שלא שילמו על החלונות המותקנים אצלהם במחשב, שלא נדבר על InterDev או Dream Weaver.
רק עבור הנקודה הזו PHP מנצחת באיפון וואזארי ביחד.
כמי שעבד עם PHP ו ASP ופיתח בשתיהן מערכות גדולות אני מבטיח לכם שבכל קריטריון PHP מנצחת בגדול.
לילה טוב.

PHP 09-12-02 13:01
 אלון
#439

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

SQL-Server ו MySQL 31-10-02 19:00
 אלי חן (מנהל)
#497

SQL-Server זו חבילת בסיסי הנתונים של מייקרוסופט שכולל בעיקר את MsSQL, ולכן עולה כסף ופעילה רק על מערכות ווינדוס.
MySQL הוא בסיס נתונים שפותח תחת רשיון הקוד הפתוח (opensource, ממש כמו PHP ולינוקס), וכמו כל שאר האחים שלה לקוד הפתוח, היא יותר טובה ומהירה מטכנולוגיית מייקרוסופט וגם זמינה בכל פלטפורמה וכמובן שלא עולה כסף.

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

מה זה Perl ו-CGI? 31-10-02 21:00
 יקיר סיטבון
#508

אהלן.

קודם כל, אני תיכנתתי בעבר בטכנולוגיית ASP, וכמובן רציתי רק לנסיון ללמוד PHP. ואני חייב לומר לך שהנוחות של PHP וכל התיעוד הנפלא שאפשר למצוא ב-php.net וכאן כמובן, זה אדיר מאוד, שלא שמעתי על כזה דבר ב-ASP.

אני גם כן אהבתי את הנושא השימושי הזה שקוראים לו RegEx, שעל-ידיו אתה יכול לעשות את כל מה שבא לך על מחרוזות. ולא שמעתי על מושג כזה אפילו ב-ASP. אבל ראיתי איזה משהוא כזה של RegEx. אבל אין מה להשוות.

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

בקיצור, אם אני יתחיל לכתוב אני לא יסיים, אני מאוד ממליץ על PHP.

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

מה זה שפת Perl ו-CGI? והאם שווה ללמוד אותם? ומה הצדדים ש-PHP לוקחת אותם, ומה הם הצדדים ש-Perl ו-CGI לוקחת אותם?

ASP & JS 31-10-02 21:00
 אלעד
#509

קראתי את דיונך עם "מתכנת ASP" ונקודה אחת מאוד צורמת לי.
ASP היא בעצם "טכנולוגיה" שמכילה 5 אובייקטים (קלט, פלט, שרת, אפליקציה ו"session"). אובייקטים אלו קבועים בשמם ובתכונותיהם.
טעית כשאמרת של ASP יש את סינטקס ה VB, כי פה יש לך אפשרות לבחור באיזה סינטקס אתה רוצה לעבוד.
אתה רגיל לראות קודים של ASP מגושמים, מגעילים, ובעלי סינטקס הדומה לVB כפי שאמרת.
הסינטקס המומלץ יותר הוא JS. זה אומר שכל הפקודות, התנאים, הפונקציות, הקלאסים וכו' כתובים בJS שהיא דומה מאוד לC, בדיוק כמו PHP (ע"י הוספת "language="jscript בתחילת הדף, או בתחילת דף מוכלל קבוע).
מלבד זאת, JS תומכת בOOP בצורה כמעט מלאה (קלאסים, אינסטנסים, אובייקטים, הורשה וכו').
אתה עשית קצת בלאגן עם השפות; JS אינה "שפת צד לקוח" בלבד, אלא שפת סקריפט, שאיתה ניתן לכתוב קודים לשתי הפלטפורמות (שרת ולקוח) ואפילו עבור Windows Script Host.
ניתן גם לכתוב ASP עם שפת הסקריפט של PHP או PERL אבל זה כמובן לא מומלץ.
הבדיקות הוכיחו שJS על השרת מהירה פי עשרות אחוזים מVBS על השרת.
וסתם שתדע, VBS נתמכת גם בלקוח ע"י <"script type="text/vbscript>, רק בIE, אבל היא כל כך איטית ומגושמת שהיא מיותרת לחלוטין.
אני לא כ"כ רוצה להתווכח מה יותר טוב, כי היו לי מספיק ויכוחים כאלו ואני נשאר בשלי. הודעה זו הייתה לשם הארה וטרמינולוגיה נכונה.

לכבוד יקיר סיטבון! 31-10-02 21:00
 אלעד
#511

בהודעתך כתבת שלא שמעת על מושג בשם RegEx בASP.
אתה טועה טעות גדולה. מנוע הRegExp של JS ניתן לשימוש בASP (בתנאי ששפת הסקריפט __בשרת__ היא JS) בצורה מלאה, ואף __יותר__ מה RegEx של PHP.
ישנן מטודות של מחרוזות וה Native Type ששמו RegExp כמו exec, match, test, search שנותנות לך _כל_ מה שאתה צריך מ RegExp, המתקדם ביותר (כולל positive/negative lookaheads, non-capturing events) של JS מגרסה 5.5 (על השרת לא צריכה להיות בעיה בגרסה, כמו בלקוח). ופה בכלל אין מה להשוות.

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

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

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

יקיר, 31-10-02 21:01
 --
#512

ביננו, לא עדיף להתמקד בשפה אחרת ולא לחנטרש משפה אחת לשניה?
תדע אחת בצורה טובה ואז תעבור לשנייה..

מה... 31-10-02 21:01
 סופי
#513

מה צריך לדעת בשביל ללמוד PHP (חוץ מHTML..) ?

ASP 31-10-02 21:02
 רועי
#515

לפי הוויכוח הקל ביניכם, די הבנתי שאתה לא בדיוק מכיר את השפה.

אז הרשה לי להוסיף הערה :
ASP, השפה עצמה מורכבת ממספר אובייקטים מצומצם מאוד, ואתה יכול לבחור באיזו שפה אתה רוצה לתכנת VBSCRIPT או JSSCRIPT, מנוע הASP תומך בשתי השפות.
אתה יכול ליצור פונקציית JS, ולהעביר אליה מידע ממשתנה שהשתמשת בו באותו עמוד בVBSCRIPT.

זאת אומרת, שגם regexp קיים בASP בעצם,
וכל שאר ההתרונות של הJS.



אני בשלבי למידה של PHP,
ואני חייב לציין שהאתר שלך מצויין.


מקווה שהבהרתי מספר דברים


רועי

תגובה: ASP & JS 31-10-02 22:00
 אלי חן (מנהל)
#516

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

תגובה: RegExp 31-10-02 22:00
 אלי חן (מנהל)
#517

בשפת PHP הביטויים הרגולריים מבוססים על שפת Perl, ונקראים PCRE (שזה Perl-Compatible Regular Expression).. אז ב-PHP יש תמיכה מלאה של ביטויים רגולריים.

Perl היא שפה ישנה, ואחת מאבותיה של PHP..
CGI זו דרך להריץ תוכניות על צד השרת.. לפני שהיו שפות סקריפטים כדוגמת PHP, אז היו משתמשים ב-CGI.. טכנולוגיה זו קיימת גם כיום אבל היא פחות נפוצה ופחות יעילה משפות הסקריפטים.

מה צריך לדעת כדי ללמוד PHP? 31-10-02 22:00
 אלי חן (מנהל)
#518

כדי ללמוד את השפה לא צריך לדעת ממש הרבה.. כדי לדעת איך לעשות תוכניות יעילות צריך נסיון.. כדי לדעת להשתמש ב-PHP עם טכנולוגיות אחרות אז צריך לדעת גם את הטכנולוגיות האחרות (כשהנפוצות ביותר הן MySQL ו-Apache).

תגובה: לגבי מהירות של שני השפות. 31-10-02 23:02
 אלי חן (מנהל)
#526

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

לגבי סעיפי הבדיקה הספציפית של יניב:
2. בלינק שהבאתי, 2 הסקריפטים רצים על אותו המחשב ועל אותה מערכת הפעלה (XP pro). סקריפט PHP רץ על Apache2 (שזה לא ISAPI ולא CGI, אלא אפצ'י מודול). ASP רצה על IIS 5.1..
4. שוב, עניין האמינות של הבדיקה: עד כמה הסקריפטים דומים? איזה עוד טכנולוגיות מעורבות (בסיסי נתונים, קבצים וכו')?
7. דווקא להיפך.. PHP מודעת לזה שהיא רצה על שרת רבוי משתמשים, ולכן היא מגבילה עצמה לכמות זיכרון מסויימת (קובץ ini), בעוד ש-ASP יכול להשתולל לך..
8. כנראה שמייקרוסופט מחפים קצת על בעיות האבטחה שלהם וגורעים מן המהירות.. באפצ'י כל גרסה טובה מהקודמת בכל התחומים, גם אבטחה וגם מהירות וגם פיטצ'רים.
10. זו הדרך הכי טובה לבדוק מה יותר מהיר עבורך.. הבעיה פה היא עניין של זמן.. זו כתיבת אותה תוכנית רק ב-2 שפות קוד שונות.

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

PHP ךוקחת את ASP מבחינת האבטחה. 01-11-02 14:01
 אסף אגמי
#554

אוקיי, דבר ראשון ל PHP יש רבה יותר הצפנות מל ASP.
דבר שני, הבסיסי נתונים של ASP מאוד פריצים.
חוץ מזה, משתמשים הרבה יותר ב ASP מאשר ב PHP, זאת אחלה שפה, קלה, טובה שהיא רק כשרון.
מתכנת לא יכול ללמוד שפה ולתכנת, הוא צריך לחשוב.

אלי חן המלך 04-12-03 07:01
 [ללא שם]
#803

אלי אני חייב לומר לך שאתה לא רק מלך אלא אתה מלך המלכים
האתר מהמוצלחים שראיתי עד היום, האתר מפורט ומלא הסברים שעדין לא מצאתי בשום אתר אחר ולא רק בPHP
נוסף על זה הידע והאופן שאתה נותן תשובות הוא מראה על הרמה וההבנה העמוקה שיש לך בPHP
אני חייב להוסיף שאלה שאין לי עדין תשובה אליה :
JAVA SCRIPT ו- PHP הם לא עושות את אותו הדבר ולפי דבריך PHP גם לא בא להחליף את JS אם הבנתי אותך נכון
אז : האם בכול זאת עלי להשתמש בJS או שאני יכול לבנות אתר שלם דינמי כולל פורום וDATABASE שנוח לעדכן רק בעזרת HTML ו PHP ?
והאם את האתר הזה בנית אך ורק עם PHP HTML או שגם שפות אחרות?

לרקע כללי אני בא מרקע של C ו C++ ככה שאחרי שקראתי את המדריך הזה הרגשתי ממש קל להבין את השפה
כמו כן אני שולט ב HTML אבל עקב שאני חדש בתחום האינרנט (אני מרקע של תוכנה) אז אני לא יודע מה השפה שבאמת יכולה להתאים לי ולתרכי האתר שהזכרתי
תודה ותמשיך ככה

בניית אתר 04-12-03 08:00
 אלי חן (מנהל)
#811

קודם כל תירגע.. ;-)
שפת ה PHP היא שפה שרצה על צד השרת.. באמצעות PHP ניתן לגשת לבסיסי נתונים ומוציאים פלט משתנה מאותו הסקריפט (בדר"כ של HTML)..
שפת ה JavaScript היא שפה שרצה על צד הלקוח על הדפדפן.. באמצעות שפה זו ניתן לתכנת את התנהגות הדף על צד הלקוח.. למשל: תפריטים נפתחים, כפתורים שמסתירים/מראים חלקים מהדף ועוד..
PHP ו JS לא יכולות להחליף אחת את השניה (אם כי יש מצבים שניתן ליישם על שתיהן, אך הן לא מתפרשות על אותם תחומים).. וניתן לבנות אתר גם עם PHP עם HTML ועם JS ביחד..

php מול jsp 04-12-03 16:01
 spi7fire
#834

היי אלי,
לאחר שקראתי את כל הדיון הארוך כאן, ושמחתי להיות נוכח לדיון שכזה - כי זה בדיוק השיחה שרציתי לשמוע אחרי קריאת המבוא, עדיין נותרה בליבי שאלה -
היום עולם הjava והopensource דווקא פונה לכוון הjsp - והservlets (על בסיס ארכיטקטורת הmvc).. זה לא ישפיע על המשך פיתוח הphp?
הרי טוענים שהחכמה של jsp היא שהוא לא בונה אובייקטים בכל כניסת משתמש ולכן הוא מהיר יותר בהרצה שוטפת.
עוד בעיה שיש לי עם שפות קוד פתוח היא שברגע שמגיע שיטת תכנות משופרת יותר (כגון jsp), פתאום כולם עוזבים את הפרוייקט ועוברים הלאה, וזה נראה כמו נטישה עצבנית. אף אחד לא נותן לנו גב שphp יישאר עוד הרבה, עם כניסת הj2ee..

הויכוח בין asp לphp הוא מאיזה עולם אתה בא - האם אתה איש microsoft שאוהב תמיכה מגוף מונופולי אבל עמיד - דהיינו שיש לשפה אבא, או שאתה איש קוד-פתוח (איש קהילה) שדוגל בגישת הקוד פתוח לכולם, וכמה שזה טוב (הכל חינם, ותמיכה קהילתית אדירה ומדהימה) - ככה זה "מדלדל", מחר הכל יתמוטט ולא יהיה מי שיעזור לך..
על הויכוח מי יותר טוב אפשר לריב עד מחר. השאלה התחתונה היא על איזה שרת אתה עובד - אם זה win אתה תתכנת בasp, אם זה linux/apache אתה תתכנת בphp/jsp.. (וכן אני יודע שהן תומכות בכל שרת, אבל כולם יודעים טוב מאוד איפה הvm רץ ונתמך יותר טוב.).

"הגב" של PHP 04-12-03 20:02
 אלי חן (מנהל)
#849

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

הפיתוח והתמיכה ב PHP לא תיפסק, כי יש דרישה עבור השפה והיא נמצאית בשימוש נרחב בעולם (שהולך וגדל על חשבון ASP דווקא)..
אתה שואל שאלות שלדעתי לא צריכות להדאיג אותך.. תסתכל על המצב הקיים בשוק כיום ועל קו המגמה שלו בהסתמך על העבר (PHP ו JSP הולכות ומתעצמות).. מחר גם יכולה לצאת שפה חדשה שתהיה טובה יותר מכולם.. ;-)

ועוד משהו... 08-12-03 12:02
 סרגיי ליברגנט
#1061

בימינו רוב האתריםכ וכתבים ב php בגלל העובדה שמערכות מבוססות קוד פתוח נהפכו לפופולריות כיום.
אני אישית למדתי הרבה מאוד מהאתר הזה ואני אישית האבתי את php יותר מעל asp ועוד משהו לידעה כללי כיום רוב השרתים תומכים ב php ולא ב asp למה?
עוד פעם בגלל הקוד הפתוח ומערכת ההפעלה לינוקס שנהפכה כיום למערכת ההפעלה הכי נפוצה בשרתים!
php השפה הכי טובה שקימת כיום...

php בהרבה יותר מהירה מ-asp 08-12-03 14:01
 פלוני
#1065

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

תחביר PHP לא דומה לתחביר C 31-10-03 13:01
 אלכס
#1190

תחביר C(כמו גם ג'אווה, בייסיק ופסקל) לא מאפשר דבר כזה:
$var1 = "alex"
$var2 = "hello my name is $var1"
התחביר הזה הוא דמוי-פרל, ולא קשור ל-C בשום אופן ו/או דרך כלשהן...

אופרטור המיקוד:
ברוב השפות הפופלריות כיום(הכוללות שפות החל מ-CPP, דרך דלפי ועד ל-SQL, שאינה שפת תכנות אפילו) הנקודה היא אופרטור ה_מיקוד_
ב-CPP גם :: הוא אופרטו מיקוד(או טווח הכרה, למי שנוהג לקרוא לו כך), ויש בידול משמעות ביניהם.
קוד כזה לדוגמה:
myNamespace.myClass.myStaticRecord.myVariable = myValue;
משמעו לקחת את הניימספייס myNamspace, בתוכו לקחת רק רכיב מסויים(להתמקד עליו, that is) שהוא המחלקה myClass, בתוכה להתמקד על הרכיב הסטטי myStaticRecord שהוא רשומה, ובתוכה להתמקד על אחד מהרכיבים שלה ולהקצות לו ערך מסויים.
ב-PHP, פתאום החליטו שנקודה היא אופרטור לשרשור מחרוזות...

תחביר מוזר ומעוות.

אני יכול להתחיל ללמוד שפת PHP ללא ידע אחר? 31-10-03 13:01
 אדיר
#1192

אני יכול להתחיל ללמוד PHP ללא ידע אחר?

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

השאלה שלי מה אני צריך לדעת לפני כן כדי להתחיל ללמוד PHP ועוד...
אני אפילו לא הבנתי מה זה Unix (למרות שזה קשור ל- Linox)

סליחה על ההודעה הארוכה אבל אני הרבה מאוד זמן רוצה להתחיל ללמוד תכנות וגם PHP.
ד"א הגיל שלי הוא 14 ככה שנאי לא יודע אם אפשר להתחיל ללמוד לתכנת מהגיל הזה :(

ללמוד PHP 31-10-03 17:01
 אלי חן (מנהל)
#1213

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

סביבת פיתוח (IDE) ל- PHP 02-11-03 03:00
 אור
#1284

שלום.
הנני מפתח תוכנה.

1. האם קיימת סביבת פיתוח חינמית ל- PHP ?
2. האם המערכת פיתוח מתקרבת ליכולות של VisualStudio.NET ?
3. האם יש מערכת פיתוח -לא חינמית- בעלת יכולות דומות לזו של VS.NET ?

תודה.
אור.

php editor 03-11-03 03:00
 bentzi
#1348

שלום לכם,

יישר כח על האתר,
ברצוני לשאול האם ישנו עורך php יעיל
חוץ מה-dreamweaver

תודה.

PHP 04-12-05 22:02
 אנדריי נוביקןב
#2187

שלום לכולם, אתר מעולה ומלא בתוכן.

אני חדש ל PHP ורוצה לברר כמה דברים על השפה.

האם אתה מכיר את התוכנה Edit+ ???
האם אפשר לכתוב תוכנה דומה בעזרת PHP???

האם אני יכול לעשות דבר כזה עם PHP:
תוכנית אחד תרוץ על מחשב A , תוכנית שניה תרוץ על מחשב B ושתי תוכניות יחליפו מידע (סטרינגים) ביניהן ???

תודה

הסבר מעולה 07-12-05 01:01
 נבו יק
#2595

ההסבר מעולה ומובן.
PHP ישראלי זה חדש, כל הכבוד אבל יש לזה חשיבות? נכון שאפשר להתגאות וזה תומך בעברית מלאה אבל מה מעבר לכך?
אין עוד שפות תכנות שתומכות בעברית מלאה?
בנתיים אני חושב שאין מה להתגאות! ישראליים לי יודעים שהשפה התפתחה בארץ, אז אני לא חושב שבחו"ל יודעים.


לתחילת הדףלתחילת הדף