מה זה ? PHP
PHPהיא שפת תכנות
)סקריפטינג( רבת משתמשים
המיועדת במיוחד לפיתוח ל-
,Webאם כי אפשר להשתמש
בה גם לצרכים אחרים
3 קבוצת משתמשי PHPבישראל 70/9/11
מה זה ?PHP
PHPעצמה היא תוכנה חופשית / קוד פתוח, והרוב ●
הגדול של התוכנה הכתובה ב- PHPהיא חופשית
PHPרצה בהצלחה על הרבה )מאד( פלטפורמות ●
PHPהיא שפה גמישה מאוד וקלה מאוד ללימוד ●
חוץ מ- ,Webאפשר לעשות עוד דברים עם :PHP ●
CLI –
Desktop applications –
Embedded –
4 קבוצת משתמשי PHPבישראל 70/9/11
מי משתמש ב- ? PHP
אנחנו ואתם, ועוד הרבה מאוד אנשים ●
PHPהיא כנראה שפת ה- Webהפופולרית ביותר, ●
והיא אחד הכוחות המניעים את השינויים ב- .Web
חלק גדול מאתרי ה- Webהפופולריים ביותר ●
מונעים ע“י :PHP
... ,Yahoo!, Flickr, Facebook, Digg, Wikipedia –
... אבל גם בנקים, ממשלות וחברות ענק בינ“ל ●
5 קבוצת משתמשי PHPבישראל 70/9/11
מי משתמש ב- ? PHP
מקור: Netcraft
6 קבוצת משתמשי PHPבישראל 70/9/11
עבר: ההיסטוריה בקצרה...
5991: רסמוס לרדורף משחרר את PHP/FI ●
תחילת הדרך: אוסף של סקריפטים ב- Perl –
עם הזמן הפרוייקט הוסב ל- ,Cונוספו יכולות גישה –
לבסיסי נתונים, שאפשרו יצירת תוכן דינמי
7991: 0.2 PHP/FI ●
כמה אלפי משתמשים ברחבי העולם –
כ- 000,05 )%1( משרתי האינטרנט –
7 קבוצת משתמשי PHPבישראל 70/9/11
עבר: ההיסטוריה בקצרה...
7991: אנדי גוטמנס וזאב סורסקי כותבים מחדש ●
את 0.3 PHPכפרוייקט לימודי לטכניון
הגרסה הראשונה ש“מזכירה“ את PHPשל היום –
שם חדש: PHP: Hypertext Preprocessor –
מפתחים רבים נוספים לפרוייקט –
שיפורי תחביר, OO –
מאות אלפי אתרים )%01( –
שחרור סופי: יוני 8991 –
8 קבוצת משתמשי PHPבישראל 70/9/11
עבר: ההיסטוריה בקצרה...
8991: אנדי וזאב מתחילים לכתוב מחדש את ●
הליבה של :PHPכך נוצר ה- Zend Engine
שיפור ביצועים וארכיטקטורה –
שיפור מודולריות –
0.4 PHPמשוחרר במאי 0002 ●
Sessions –
Output Buffering –
תמיכה בשרתים נוספים מלבד Apache –
9 קבוצת משתמשי PHPבישראל 70/9/11
עבר: ההיסטוריה בקצרה...
יולי 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
אז מה עוד אפשר
לעשות עם ?PHP 5.x
)חוץ מ- (?OOP
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
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
PHP 4.xמת!
7002/7/31 – הכרזה על quot;סוף חייםquot; ל- 4PHP ●
בדיוק 3 שנים אחרי ש- 5 PHPשוחרר –
החל מה-7002/21/13 רק עידכוני אבטחה ●
קריטיים
הפיתוח יפסק לחלוטין ב- 8002/8/8 ●
12 קבוצת משתמשי PHPבישראל 70/9/11
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
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
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
שאלות?
תודה רבה
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.