PHP - עבר הווה ועתיד

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    PHP - עבר הווה ועתיד - Presentation Transcript

    1. PHP ‫הווה ועתיד‬ ‫עבר‬ 2007 ‫נובמבר‬ <shahar.evron@gmail.com> ‫שחר עברון‬ http://php-israel.org ‫ בישראל‬PHP ‫קבוצת משתמשי‬
    2. ‫מבוא‬ ‫ברוכים הבאים!‬ ‫●‬ ‫מי אני?‬ ‫●‬ ‫משתמש ב- ‪ PHP‬כחמש שנים‬ ‫–‬ ‫עובד בזנד טכנולוגיות כשנתיים וחצי‬ ‫–‬ ‫מי אתם?‬ ‫●‬ ‫משתמש/ת מנוסה ב- ‪?PHP‬‬ ‫–‬ ‫מתכנת/ת ב- ‪?PHP 5.x‬‬ ‫–‬ ‫2‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    3. ‫מה זה ‪? PHP‬‬ ‫‪ PHP‬היא שפת תכנות‬ ‫)סקריפטינג( רבת משתמשים‬ ‫המיועדת במיוחד לפיתוח ל-‬ ‫‪ ,Web‬אם כי אפשר להשתמש‬ ‫בה גם לצרכים אחרים‬ ‫3‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    4. ‫מה זה ‪?PHP‬‬ ‫‪ PHP‬עצמה היא תוכנה חופשית / קוד פתוח, והרוב‬ ‫●‬ ‫הגדול של התוכנה הכתובה ב- ‪ PHP‬היא חופשית‬ ‫‪ PHP‬רצה בהצלחה על הרבה )מאד( פלטפורמות‬ ‫●‬ ‫‪ PHP‬היא שפה גמישה מאוד וקלה מאוד ללימוד‬ ‫●‬ ‫חוץ מ- ‪ ,Web‬אפשר לעשות עוד דברים עם ‪:PHP‬‬ ‫●‬ ‫‪CLI‬‬ ‫–‬ ‫‪Desktop applications‬‬ ‫–‬ ‫‪Embedded‬‬ ‫–‬ ‫4‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    5. ‫מי משתמש ב- ‪? PHP‬‬ ‫אנחנו ואתם, ועוד הרבה מאוד אנשים‬ ‫●‬ ‫‪ PHP‬היא כנראה שפת ה- ‪ Web‬הפופולרית ביותר,‬ ‫●‬ ‫והיא אחד הכוחות המניעים את השינויים ב- ‪.Web‬‬ ‫חלק גדול מאתרי ה- ‪ Web‬הפופולריים ביותר‬ ‫●‬ ‫מונעים ע“י ‪:PHP‬‬ ‫‪... ,Yahoo!, Flickr, Facebook, Digg, Wikipedia‬‬ ‫–‬ ‫... אבל גם בנקים, ממשלות וחברות ענק בינ“ל‬ ‫●‬ ‫5‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    6. ‫מי משתמש ב- ‪? PHP‬‬ ‫מקור: ‪Netcraft‬‬ ‫6‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    7. ‫עבר: ההיסטוריה בקצרה...‬ ‫5991: רסמוס לרדורף משחרר את ‪PHP/FI‬‬ ‫●‬ ‫תחילת הדרך: אוסף של סקריפטים ב- ‪Perl‬‬ ‫–‬ ‫עם הזמן הפרוייקט הוסב ל- ‪ ,C‬ונוספו יכולות גישה‬ ‫–‬ ‫לבסיסי נתונים, שאפשרו יצירת תוכן דינמי‬ ‫7991: 0.2 ‪PHP/FI‬‬ ‫●‬ ‫כמה אלפי משתמשים ברחבי העולם‬ ‫–‬ ‫כ- 000,05 )%1( משרתי האינטרנט‬ ‫–‬ ‫7‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    8. ‫עבר: ההיסטוריה בקצרה...‬ ‫7991: אנדי גוטמנס וזאב סורסקי כותבים מחדש ‬ ‫●‬ ‫את 0.3 ‪ PHP‬כפרוייקט לימודי לטכניון‬ ‫הגרסה הראשונה ש“מזכירה“ את ‪ PHP‬של היום‬ ‫–‬ ‫שם חדש: ‪PHP: Hypertext Preprocessor‬‬ ‫–‬ ‫מפתחים רבים נוספים לפרוייקט‬ ‫–‬ ‫שיפורי תחביר, ‪OO‬‬ ‫–‬ ‫מאות אלפי אתרים )%01(‬ ‫–‬ ‫שחרור סופי: יוני 8991‬ ‫–‬ ‫8‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    9. ‫עבר: ההיסטוריה בקצרה...‬ ‫8991: אנדי וזאב מתחילים לכתוב מחדש את‬ ‫●‬ ‫הליבה של ‪ :PHP‬כך נוצר ה- ‪Zend Engine‬‬ ‫שיפור ביצועים וארכיטקטורה ‬ ‫–‬ ‫שיפור מודולריות‬ ‫–‬ ‫0.4 ‪ PHP‬משוחרר במאי 0002‬ ‫●‬ ‫‪Sessions‬‬ ‫–‬ ‫‪Output Buffering‬‬ ‫–‬ ‫תמיכה בשרתים נוספים מלבד ‪Apache‬‬ ‫–‬ ‫9‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    10. ‫עבר: ההיסטוריה בקצרה...‬ ‫יולי 4002: ‪ PHP 5.x‬משוחרר‬ ‫●‬ ‫0.2 ‪Zend Engine‬‬ ‫–‬ ‫כתיבה מחדש של ה- ‪Object model‬‬ ‫–‬ ‫1.5 ‪ PHP‬משוחרר בנובמבר 5002‬ ‫–‬ ‫שיפורי ביצועים ותיקוני באגים רבים מאוד ‬ ‫●‬ ‫‪ PDO‬כברירת מחדל‬ ‫●‬ ‫2.5 ‪ PHP‬משוחרר בנובמבר 6002‬ ‫–‬ ‫שיפורים בניהול הזיכרון ושיפורי ביצועים נוספים‬ ‫●‬ ‫‪Filter, JSON, Upload hooks‬‬ ‫●‬ ‫01‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    11. ‫אז מה עוד אפשר‬ ‫לעשות עם ‪?PHP 5.x‬‬ ‫)חוץ מ- ‪(?OOP‬‬
    12. PDO try { $db = new PDO('mysql:hostname=losthost;dbname=mydb', 'user', 'xxxxx'); } catch (PDOException $e) { echo \"Error connecting to DB: {$e->getMessage()}\"; exit; } $stmt = $db->prepare('INSERT INTO employees (name, salary) VALUES(?, ?)'); foreach ($employeeList as $emp) { $stmt->execute(array($emp['name'], $emp['salary'])); } 12 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    13. XML: SimpleXML $xml = <<<EOXML <bookmarks> <bookmark> <name>CNN World News</name> <url>http://cnn.com</url> </bookmark> <bookmark> <name>Planet PHP</name> <url>http://planet-php.org</url> </bookmark> </bookmarks> EOXML; $bookmarks = new SimpleXMLElement($xml); foreach($bookmarks->bookmark as $bmark) { echo \"{$bmark->name}: {$bmark->url}\\n\"; } 13 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    14. XML: DOM // continuing from previous example... $domBookmarks = dom_import_simplexml($bookmarks); $domDoc = new DOMDocument(); $domBookmarks = $domDoc->importNode($domBookmarks, true); $domDoc->appendChild($domBookmarks); foreach ($domDoc->getElementsByTagName('bookmark') as $bmark) { $rank = $domDoc->createElement('ranking', '5'); $bmark->appendChild($rank); } echo $domDoc->saveXML(); 14 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    15. Web Services: SOAP // SOAP Server class myServiceClass { public function doServiceAction($foo, $bar) { // ... } } // Set up SOAP server $server = new SoapServer('myService.wsdl'); $server->setClass('myServiceClass'); // Handle request $server->handle(); 15 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    16. Web Services: SOAP // SOAP client $myWsdl = 'http://www.example.com/service/myService.wsdl'; $client = new SoapClient($myWsdl); try { $myData = $client->doServiceAction('foo', 'bar'); } catch (SoapFault $fault) { echo \"Error getting data from remote server: \" . $fault->getMessage(); exit; } 16 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    17. SPL: Standard PHP Library ‫( וממשקים‬Classes) ‫אוסף של מחלקות‬ ● ‫( שנועדו לפתור בעיות נפוצות‬Interfaces) ● http://www.php.net/~helly/php/ext/spl/ // SPL Directory Iterator $musicDir = new DirectoryIterator('/home/shahar/Music'); foreach ($musicDir as $song) { if ($song->isDir()) continue; echo \"$song - Last played: \" . date(\"Y-m-d h:i:s\", $song->getATime()) . \"\\n\"; } 17 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    18. SPL: Standard PHP Library // SPL Interfaces: Iterator, Countable class PhotoAlbum implements Iterator, Countable { // ... a bunch of code here ... } $album = new PhotoAlbum('/home/shahar/Albums/India'); // Access the object using the 'count()' function echo \"The {$album->getTitle()} contains \" . count($album) . \" photos.<br />\"; // Iterate using 'foreach()' foreach ($album as $photo) { echo htmlspecialchars($photo->getTitle()) . '<img src=\"' . $photo->getUrl() . '\" />'; } 18 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    19. PHP Frameworks http://cakephp.org http://framework.zend.com http://pear.php.net http://symfony-project.com http://ez.no/ezcomponents 19 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    20. ‫אפליקציות פופולריות‬ ‫02‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    21. ‫‪ PHP 4.x‬מת!‬ ‫7002/7/31 – הכרזה על \"סוף חיים\" ל- 4‪PHP‬‬ ‫●‬ ‫בדיוק 3 שנים אחרי ש- 5‪ PHP‬שוחרר‬ ‫–‬ ‫החל מה-7002/21/13 רק עידכוני אבטחה‬ ‫●‬ ‫קריטיים‬ ‫הפיתוח יפסק לחלוטין ב- 8002/8/8‬ ‫●‬ ‫12‬ ‫קבוצת משתמשי ‪ PHP‬בישראל‬ ‫70/9/11‬
    22. 6.0 -‫ ו‬PHP 5.3 :‫העתיד‬ (‫ מתוכנן לתחילת 8002 )כנראה‬PHP 5.3 ● Namespaces – Partial Unicode Support – Late Static Binding – Class::__callStatic() – ? PHP 6.0 ● “It's ready when it's ready” – Full Unicode Support – 22 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    23. 6.0 -‫ ו‬PHP 5.3 :‫העתיד‬ ...‫: לפני‬Namespaces ● class Zend_Http_Client { const METHOD_POST = 'POST'; public function request($method) { // ... } static public function encodeFormData() { // ... } } $client = new Zend_Http_Client(); $client->request(Zend_Http_Client::METHOD_POST); $body = Zend_Http_Client::encodeFormData(); 23 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    24. 6.0 -‫ ו‬PHP 5.3 :‫העתיד‬ namespace Zend::Http; // <-- class Client ...‫: אחרי‬Namespaces ● { const METHOD_POST = 'POST'; public function request($method) { // ... } static public function encodeFormData() { // ... } } use Zend::Http::Client as Client; // <-- $client = new Client(); $client->request(Client::METHOD_POST); $body = Client::encodeFormData(); 24 ‫ בישראל‬PHP ‫קבוצת משתמשי‬ 11/9/07
    25. ‫שאלות?‬
    26. ‫תודה רבה‬ This work is licensed under the Creative Commons Attribution-Share Alike 2.5 Israel License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.5/il/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

    + Shahar EvronShahar Evron, 3 years ago

    custom

    1006 views, 0 favs, 0 embeds more stats

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 1006
      • 1006 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories