الدرس الاول..
مقدمة للغة
PHP
تتميز لغة PHP بالكثير من الخصائص التي جعلتها الخيار الأمثل لمبرمجي الويب في العالم :
السهولة
تعتبر لغة PHP من أسهل لغات البرمجة تعلما، فهي تريحك من جميع تعقيدات إدارة الذاكرة وتعقيدات معالجة النصوص الموجودة في C من جهة، والكثير من الضعف الموجود في بينية وتصميم لغة البرمجة Perl من جهة أخرى.
تمتلك لغة PHP بنية وقواعدا ثابته وواضحة جدا، معظم قواعد اللغة مأخوذة من كل من C و Java و Perl لصنع لغة برمجة عالية السهولة والسلاسة دون فقدان أي من القوة في اللغة، يفيدك ذلك إذا كنت تعلم أي شيء عن لغات البرمجة الأخرى مثل Visual Basic أو C أو Java حيث ستجد دائما بأنك تفهم مواد الدورة بسرعة، وستكتشف كيف تقوم PHP بتسهيل أصعب الأمور وإذلال العقبات التي تواجه المبرمج حتى يتفرغ تماما للإبداع فقط، كل ما تفكر به تستطيع تنفيذه بلغة PHP.
السرعة
لغة PHP من اللغات المعروفة بسرعتها العالية في تنفيذ البرامج، وخاصة في الإصدارة الرابعة من المترجم، حيث تمت كتابة مترجم PHP من الصفر ليعطي أداءا في منتهى الروعة، كما أن لغة PHP مصممة أصلا كنواة لمترجم، بحيث يمكن أن تضع هذه النواة في عدة قوالب أو أغلفة لتعمل مع التقنيات المختلفة، فيمكنك تشغيل مترجم PHP كبرنامج CGI مثلا، ولكن الأفضل هو إمكانية تركيب مترجم PHP على مزود IIS في صورة وحدة إضافية تضاف إلى المزود عن طريق دوال ISAPI، وتوجد نسخة أخرى منه تركب على مزود Apache أيضا في صورة وحدة خارجية، وتوجد أيضا نسخة مخصصة للدمج مع شفرة مزود Apache بحيث تصبح جزءا من برنامج Apache نفسه، وهي الطريقة الأكثر استخداما الآن في مزودات الويب التي تعمل على أنظمة UNIX وهي الطريقة التي تعطي أفضل أداء لمترجم PHP، حيث يصبح المترجم جزءا من المزود، وبالتالي فإنه سيكون محملا في الذاكرة بانتظار صفحات PHP ليقوم بترجمتها وعرضها للزوار مباشرة دون التأخير الإضافي الذي تتطلبه برامج Perl/CGI مثلا حيث يجب أن يتم تشغيل مترجم Perl مع كل زيارة للصفحة لترجمة الصفحة، ثم يتم إغلاق المترجم، ثم استدعاءه مجددا عند الزيارة الثانية وهكذا، وهذا يشكل فارقا كبيرا في المواقع ذات الضغط العالي بالذات، ويكون استخدام PHP حلا أفضل بكثير.
المزايا
يأتي مترجم PHP لوحده محملا بعدد هائل من الدوال الجاهزة الاستخدام في جميع المجالات، من دوال المعالجة الرياضية والحسابية إلى دوال الوصول إلى قواعد البيانات ومزودات FTP، توفر لك دوال PHP مثلا وصولا إلى مزودات البيانات MySQL و PostgreSQL و MS SQL و Oracle وغيرها من مزودات قواعد البيانات، وهنالك أيضا مجموعة من الدوال لمعالجة ملفات XML، ودوال أخرى لإرسال واستقبال الملفات عن بعد باستخدام بروتوكول FTP، وهنالك مجموعة من الدوال لمعالجة وإنتاج الصور ديناميكيا وملفات Flash ديناميكيا، ناهيك عن جميع الدوال الخاصة بمعالجة النصوص والمصفوفات.
التوافقية
كما قلنا سابقا، فعلى الرغم من أن هنالك الكثير من نسخ PHP التي يعمل كل منها في بيئة مختلفة، إلا أنها جميعا تشترك في النواة الأصلية التي تقوم بالمعالجة الحقيقة لملفات PHP لذا فإن جميع مترجمات PHP تتصرف بنفس الطريقة فيما يتعلق بتنفيذ السكريبتات، فإذا كان السكريبت الذي عملته يعمل على نظام Windows مع مزود IIS فيجب أن يعمل دون الحاجة لأية تغييرات عند نقله إلى مزود Apache، بالطبع تظل بعض الأمور البسيطة جدا التي يوفرها بعض المزودات دون غيرها، ولكن جميع البرامج التي كتبتها منذ أن بدأت تعلمي للغة إلى الآن تعمل على جميع المزودات دون الحاجة لأي تغييرات، إضافة إلى ذلك فإن التغييرات التي حدثت باللغة الأساسية من الإصدارة الثالثة إلى الرابعة قليلة جدا، وأغلب التغييرات كانت في البنية التحتية للمترجم.
الحماية
يوفر PHP الكثير من المزايا المتقدمة، ولكنه يوفر لك الطرق المناسبة لوضع الحدود على هذه المزايا، فيمكنك التحكم بعدد الإتصالات المسموحة بقاعدة البيانات مثلا، أو الحجم الأقصى للملفات التي يمكن إرسالها عبر المتصفح، أو السماح باستخدام بعض الميزات أو إلغاء استخدامها، كل هذا يتم عن طريق ملف إعدادات PHP والذي يتحكم به مدير الموقع.
قابلية التوسع
يمكنك توسعة مترجم PHP بسهولة وإضافة الميزات التي تريدها إليه بلغة C، وحيث أن الشفرة البرمجية للمترجم مفتوحة فإنك تستطيع تغيير ما تريده مباشرة لتحصل على النسخة التي تناسبك من المترجم، ويمكنك أيضا عمل الوحدات الإضافية التي تركب على المترجم لزيادة ميزاته والوظائف المبيته فيه، وفي قد قام فريق تطوير مترجم PHP مسبقا بعمل هذه المهمة وتحويل كمية ضخمة من المكتبات المكتوبة بلغة C إلى مكتبات مخصصة لتضاف إلى المترجم، ومنها حصلنا على جميع الميزات التي تحدثنا عنها مثل الوصول إلى قواعد البيانات ومعالجة ملفات XML.
تاريخ PHP
بدأت PHP كمكتبة من الدوال تضاف على لغة Perl لتسهل عمل برامج CGI بلغة Perl، وبعد أن تلقى Rasmus Lerdof بعض الاقتراحات بتحويلها إلى مترجم بسيط، قام بعمل ذلك المترجم وطرحه على الإنترنت وسماه PHP أو Personal Home Pages أي الصفحات الشخصية، فقد كان عبارة عن نسخة مصغرة من Perl مع بعض الميزات الإضافية للويب، ثم أضاف إليه دعما لنماذج HTML وسماه PHP2/FI، فقام مجموعة من المبرمجين بالعمل على مترجم PHP وأضافوا إليه واجهة تطبيقات برمجية API لتسهيل عملية توسعته فأصبح لدينا PHP 3، بعد فترة من الزمن قامت شركة Zend للتقنيات بعمل مترجمها الخاص للغة والذي سمي zend أيضا، وقد اتصف هذا المترجم بالسرعة العالية وقدراته المحسنة، وجمع مع مكتبات PHP الأخرى لتكوين نواة المترجم PHP، مترجم PHP الآن مقسم على قسمان: المترجم zend ويتم تطويره على مزودات CVS الموجودة في موقع zend والقسم الثاني يسمى PHP وهو عبارة عن المكتبات والدوال الأساسية التي تأتي مع البرنامج، يقوم مترجم zend بقراءة الملفات ومعالجتها والتعامل مع المتغيرات وتنفيذ البرنامج وتوفير واجهة تطوير للتطبيقات API لتوسعة اللغة، أما PHP فتحتوي الآن على مكتبات مكتوبة بلغة C ومتوافقة مع واجهة التطبيقات التي يوفرها مترجم zend، وبالتالي يعمل القسمان معا لتكوين مترجم PHP، وعندما تزور موقع PHP الرسمي الآن وتحصل على مترجم PHP جاهزا أو تحصل على الشفرة البرمجية الخاصة بك، فإنك تحصل على كل من مترجم zend ومكتبات PHP معا.
تطور PHP تطورا مفاجئا في الفترة الأخيرة، وتشير إحصائيا Net Craft إلى أن مترجم PHP هو أكثر وحدات مزود Apache انتشارات على الإنترنت، كما أن مترجم PHP مركب على حوالي مليوني مزود ويب على الإنترنت.
تشغيل نظام Windows IIS 5.0 plus أو Windows PWS 4.0 plus
متطلبات تحميل البرنامج
-
قرص نظام
Win2000 أو
WinXP
لتحميل IIS
5.0 plus.
- قرص
نظام Win98 SE
أو
WinME
لتحميل PWS
4.0 plus.
لابد أن يتوافق القرص مع النظام المحمل لديك. يعني، ما ينفع تحمل IIS 5 على ويندوز 98 أو ME
ملحوظة
الصور
الرفقة هي لنظام
WinXP فقط،
لكن كافة العملية هي متشابهة بجميع
أنظمة
مايكروسوفت .
- 1 ضع
القرص المرن الخاص بنظام
Windows
في مكانه.
- 2 إذهب
إلى الـ
Control Panel
من
My Computer
وأختار
Add or Remove
Programs
( الشكل 1 )
3- ستظهر لك شاشة بقائمة برامج يمكنك إختيارها ومن ضمنها برنامج Internet Information Services أو بإسم Personal Web Server تحت نظام تشغيل Win98, ME
( الشكل 2 )
4 – إن نقرت على Internet Information Services مرتين وكأنك تفتح ملف، ستلاحظ وجود العديد من الخدمات ومن ضمنها Frontpage 2000 Server Extensions للذين يريدون إستخدام الفرونت بيج لتحكيل صفحاتهم المحلية.
5 – بعد إختيار ما تحب من المواصفات (أنا شخصياً إخترتها كلها ما عدى MSN Explorer) إضغط على Next ومن ثم سيقوم الـ Windows بتحميل وتثبيت برنامج السرفر المحلي تلقائياً.
6 – بعد التحميل يستحسن إعادة تشغيل الكمبيوتر حتى تكون عملية تثبيت وتعريف السرفر صحيحة.
7 – بعد إعادة التشغيل، إذهب إلى القرص الصلب المحلي C… ستجد مجلد جديد هناك تحت إسم Inetpub وبداخلة مجلد إسمة wwwroot
( الشكل 3 )
8 - مجلد wwwroot هو ما يعادل المجلد public_html في نظام اللينكس... فهو مجلد نشر الصفحات.
9 - إفتح برنامج الـInternet Explorer وضع http://localhost/ أو http://127.0.0.1/ تلاقي أن الملفات الموجودة في مجلد wwwroot فتحت وهي مهمه فلا تمحيها لأنها تحتوي على ملفات المساعدة إن إحتجتها فيما بعد.
ملاحظة : في هذه اللحظة سرفرك الآن يدعم لغة الـ asp و قاعدة البيانات Access فقط
كيف تضيف لغة الـPHP 4.3.1 لسرفر IIS
متطلبات هذا الجزء : PHP4.3.1 وممكن تحميلها من الموقع عن طريق هذا الرابط - إختار ما يناسبك حجمه 5.71 MB
http://www.php.net/get/php-4.3.1-Win32.zip/from/a/mirror
1 - فك الضغط من على ملف الـZIP وغير إسم المجلد إلى php حروف صغيره وليست PHP
2 - إنقل هذا المجلد تحت مجلد C:\Inetpub
( الشكل 4 )
3 - إفتح المجلد php ودور على ملف إسمه "php.ini-recommended". غير إسم الملف إلى php.ini وإنقله إلى مجلد الـWindows أو WINNT
4 - إفتح المجلد وستقوم الآن بتغيير بعض تعريفات الـPHP حتى تمشى معاك أستخدم أحد المحررات
( الشكل 5 )
· قم بتغيير extension_dir من /. إلى C:\Inetpub\php
· قم بتغيير browscap إلى C:\WINDOWS\SYSTEM32\inetsrv\browscap.ini أو WINNT
· قم بتغيير ; cgi.force_redirect = 1 إلى cgi.force_redirect = 0 ملاحظه: إحذف هذه ";"
· قم بتغيير session.save_path من tmp/ إلى C:\Inetpub\tmp وإذهب وإنشئ مجلد جديد تحت C:\Inetpub إسمه tmp كما في ( الشكل 4 ) في الصفحه السابقه . المجلد المحدد بي الأخضر
هنا تكون قد قمت بإكمال عملية تثبيت الـPHP على جهازك. والآن عليك أن تجعل سرفر IIS تتعرف على ملفات الـPHP
5 – إذهب إلى Control Panel > Administrative Tools > Internet Information Services
( الشكل 6 )
6 - إدرج خواص سرفرك كما هو ملحوظ في الصوره التالية ( الشكل 7 )
( الشكل 7 )
7 - إختار Home Directory ومن ثم Configuration كما في ( الشكل 8 )
( الشكل 8 )
8 - سنقوم الآن بإضافة إمتدادات PHP و PHP3 و PHTML للسرفر حتى يعرف كيف يتعامل معهن. إضغط على Add كما هو موضح في الصورة التالية ( الشكل 9 )
( الشكل 9 )
9 - في الشاشة التالية لابد من تبيين مكان ملف PHP.EXE الموجود في مجلد البرنامج. قم بإختيار المجلد كما هو مبين بالصورة العاشرة ووضح إمتداد الملف php. وإنهي العملية بالضغط على OK. قم بنفس هذه العملية لإضافة الإمتدادات php3. وphtml.
( الشكل 10 )
10 - لقد إنتهيت!! إحفظ عملك بالكامل وأعد تشغيل الكمبيوتر .
11 - الان قم بأنشاء ملف بأسم phpinfo.php وقم بوضعه داخل C:\Inetpub\wwwroot وإفتح إنترنت إكسبلورر على العنوان http://localhost/phpinfo.php .
ولمعرفة كيف يتم أنشاء الملف قم فتح النوت باد كما هو مبين في الصوره وكتب الكود الموجود به وحفظه
( الشكل 11 )
12 - هنا يتبين إن قمت بتثبيت php بشكل صحيح لأن هذا الملف سيعطيك معلومات كاملة عن الإصدار اللي أنت مركبه
( الشكل 12 )
كيف تضيف قاعدة البيانات MySQL 4.0.12 أحدث إصدار لسرفر IIS
متطلبات الدرس :
· Microsoft MDAC 2.7 هو أحدث إصدار لبرنامج مساعد للسرفر وهو ضروري جداً. وسوف تجده على العنوان التالي http://www.microsoft.com/data/
( الشكل 13)
( الشكل 14 )
· MyODBC 3.51.06 هو أيضاً أحدث إصدار لبرنامج الوصل بين اللغة والقاعدة
http://www.mysql.com/downloads/api-myodbc-3.51.html
( الشكل 15 )
· MyODBC 2.50.39 إصدار قديم من MySQL ولكنه ضروري لأن قاعدة البيانات تدور على الإثنين عند بدإ التشغيل
http://www.mysql.com/downloads/api-myodbc-2.50.html
( الشكل 16 )
· MySQL 4.0.12 طبعاً قاعدة البيانات الشهيرة
ملاحظة: يمكنك إستخدام إصدار أقدم للـ mySQL إن أردت لكنني لا أنصح بذلك
بعد تحميل وتثبيت أول ثلاث برامج بشكل عادي نبدأ عملية تثبيت الـmySQL
1 - حين تثبيت الـmySQL ستسأل أين تريد تثبيتها، أنا محددها في C:\Inetpub\mysql بجانب مجلد الـphp
( الشكل 17 )
( الشكل 18 )
2 - وبعدها البرنامج سيثبتها لك أوتوماتيكياً
3 - أفتح مجلد بإسم bin بداخل mysql وحينها أنقر مرتين على ملف إسمه winmysqladmin.exe
( الشكل 19 )
4 - ستطلب منك mySQL أن تحدد إسم الدخول وكلمة السر التي تريها لتجعل سكربتاتك تتعامل معها
5 - أعد تشغيل الجهاز.
6 - أدخل الى المجلد التالي Control Panel > Administrative Tools > Data Sources ODBC
7 - حين تنقر على Data Sources ODBC تأتيك قائمة كالصورة الشكل 20 وإختار الـMySQL و MySQL ODBC 3.51 Driver كما مبين لك في الصورة رقم إثنين. حينها ستبان أمامك
( الشكل 20 )
سوف تشاهد بعد ذالك شاشة تستطيع أن تكتب فيها معلومات قاعدة بياناتك
( الشكل 21 )
ملاحظة: لابد أن تكون متطابقة لنفس البيانات التي كتبتها في الخطوة الرابعة لهذا الدرس .
8 - قم بنفس العملية لكلا الـMySQL Drivers في تلك الشاشة ثم أخرج بعد حفظ التغييرات
9 - أنقر بالزر الأيمن على مؤشر الـMySQL في الـ Task Bar كماهو في الصورة الشكل 22 ثم إختار Stop This Service
( الشكل 22 )
10 - إذهب الى المجلد Control Panel > Administrative Tools > Services
11 - إبحث عن MySQL كما هو موجود بالصورة الشكل 23 وقم بإختيار Stop
12 - أعد تشغيل جهازك الآن
13 - حين تتم عملية إعادة التشغيل، ستلاحظ أن برنامج MySQL بدأ تلقائياً وقد تحول النور من الأحمر إلى الأخضر، وهذا يعني أن قاعدة البيانات . MySQL شغالة لديك الآن
وسيكون الآن
سرفرك يشغل :
PHP - ASP
- Access - MySQL
بنية ملفات PHP
ملفات PHP هي ملفات نصية بسيطة، تشبه في تركيبها ملفات ASP وملفات HTML بشكل عام، يتكون ملف PHP من قسمان، قسم HTML وقسم PHP، الملف بالصورة الطبيعية عبارة عن ملف HTML عادي، ولكنك تستطيع تحديد أجزاء معينة من الملف ليخرج فيها الملف من وضعية HTML إلى وضعية PHP، لإخراج الملف إلى وضعية PHP توجد عدة طرق :
1 - استخدام زوح الوسوم <?php و ?> كالتالي :
<?php
echo 'This is PHP output!';
?>
2 - استخدام زوج المختصر <? و ?> وهو يستخدم بنفس الطريقة السابقة ولكنه يكون بدون الكلمة php في وسم البداية، هذا النوع من الوسوم يحتاج إلى كمية أقل من الكتابة بالطبع، ولكنه يتعارض مع وسوم xml، لذا يقوم البعض بإغلاق ميزة الوسوم القصيرة حتى لا يحصل هذا التعارض ( يمكنك اغلاق هذه الميزة بسهولة عن طريق ملف إعدادات PHP ).
3 - استخدام زوج الوسوم ASP، وهو من اسمه زوج الوسوم المستخدم في ملفات ASP وهما <% و %>، ميزة وسوم ASP لا تكون فعالة بشكل قياسي ولكنك تستطيع تفعيلها عن طريق ملف إعدادات مترجم PHP.
4 - الطريقة الأخيرة هي استخدام زوج الوسوم التالي :
<script language="php" >
echo 'This is PHP output!';
</script>
ولكن هذه الطريقة غير مستخدمة الآن، حيث أنها تصعب عملية التمييز بين شفرات PHP وباقي ملف HTML، وكذلك بالنسبة لبرامج كتابة ملفات HTML التي تعطي تلوينا للشفرة فأغلبها لا يتعرف على هذا النوع من الشفرة ويعتبره جزءا من ملف HTML الاعتيادي.
أفضل الطرق السابقة للتحويل إلى وضعية PHP هو استخدام زوج الوسوم الأول بالطبع، حيث أنه الأكثر استخدامها، ولا يحتوي على أية تعارضات كما أنه يعمل على جميع مترجمات PHP مهما كانت إعداداتها، ولهذا السبب سنستخدمها في جميع الأمثلة التي ستجدها في هذه الدورة.
كتابة ملفات PHP
ملفات PHP هي ملفات نصية بسيطة تماما كما هي ملفات HTML، يمكنك كتابة سكريبت PHP بأي برنامج كتابة نصوص يتيح لك كتابة الملفات النصية البسيطة Plain Text مثل Notepad على النظام ويندوز، ولكن أغلبية مبرمجي PHP يستخدمون أدوات أخرى تسهل عليهم عملية البرمجة عن طريق تلوين الشفرات البرمجية، وتسهل عملية البحث عن الملفات واستبدال المقاطع من عدة ملفات في نفس الوقت، مثل HomeSite، على الرغم من أنك لن تحتاج إلى الكثير من هذه الميزات إلا أن استخدام Notepad في عمل ملفات PHP يعتبر أمرا صعبا جدا وخاصة في الملفات الضخمة حيث أن Notepad لا تتيح فتح الملفات الكبيرة، والمشكلة الأكبر هي أنها لا توفر ترقيما للأسطر، فإذا ظهرت لك رسالة الخطأ تشير إلى وجود خطأ في السطر 53 فلن تستطيع معرفة السطر المطلوب في Notepad إلا إذا قمت بالعد يدويا من السطر الأول وحتى 53 .. حسنا ماذا لو كان الخطأ في السطر 652، يمكنك البدأ بكتابة سكريبتاتك بالبرنامج المتوفر الآن إلى أن تحصل على برنامج آخر، يمكنك بالطبع فتح ملفاتك بأي محرر نصوص، فإذا كتبتها باستخدام Notepad فهذا لا يعني بأنك ملزم باستخدام Notepad في جميع ملفاتك أو حتى في هذا الملف.
لعمل ملف PHP الآن قم بفتح محرر النصوص الذي اخترته وابدأ بكتابة الصفحة التي تريدها، ولا تنسى إحاطة شفرات PHP بالوسوم الخاصة بها، ثم احفظ الملف في أي مكان في دليل مزود الويب الخاص بك وأعطه الإمتداد المناسب .php أو .php3 حسب إعدادات مزودك، ثم قم بزيارة الصفحة باستخدام المتصفح وستجد الصفحة وقد تمت ترجمتها وعرضها عليك.
تذكر بأنك يجب أن تزور الصفحة مرور بمزود الويب، ولا يمكنك عرض الصفحة عن طريق فتحها كملف خارجي، على سبيل المثال، إذا كان الدليل الجذري لصفحات مزودك هو : C:\Inetpub\wwwroot\
وقمت بعمل صفحة أسميتها test.php في ذلك الدليل، يجب أن تقوم الآن بتشغل مزود الويب وزيارة الصفحة على العنوان http://localhost/test.php، إذا قمت باستخدام الأمر Open من القائمة File في المتصفح لفتح الملف C:\Inetpub\wwwroot\test.php فلن ترى صفحة PHP مترجمة، وسترى شفرة PHP فقط.
تدريب
قم بتنفيذ ملف PHP التالي :
This is the normal html page.<br>
<?php
echo "This is inside PHP<br>";
echo "Hello World!<br>";
?>
ما الذي تشاهده عند تنفيذ البرنامج السابق؟ من المفترض أن تشاهد الخرج التالي :
This is the normal html page.
This is inside PHP
Hello World!
ها قد انتهيت من كتابة برنامجك الأول بلغة PHP، لا تقلق إذا لم تفهم أي شيء فيه، سنتعلم الآن كيفية استخدام المتغيرات والعبارات بلغة PHP.
الدرس
الثاني..
عوده لقائمه للدروس
.::Started on :
20-6-2004::.
.::Powered by:php-step
vision.tk::.
Copyrights©2004
Snap-Soul.tk.Allrights
reserved