هل تشمل أسئلة اختبار ZCE جميع مواضيع لغة PHP ؟ أم أنها تركز على مواضيع معينة؟ هذا ماسوف نحاول الإجابة عليه في هذا المقال بإذن الله.

نظرة عامة :
يهدف اختبار ZCE لاختبار قدرتك على بناء برامج PHP على أسس صحيحة من ناحية، واختبار قدرتك على معالجة المشاكل البرمجية التي ستواجهك في حياتك المهنية اليومية كمبرمج من ناحية أخرى.
فالاختبار يهتم بالتحقق من صحة فهمك للمواضيع الرئيسية في لغة بي إتش بي ولا يحاول التشعب كثيرا في فهمك للوظائف الإضافية المتعلقة بتلك المواضيع، فعلى سبيل المثال عند التطرق إلى تعامل PHP مع قواعد البيانات فالمطلوب منك هو فهم ماهية قواعد البيانات وتعامل لغة PHP معها بالدرجة الأساس، ولست مطالبا بحفظ ودراسة عشرات الوظائف المتعلقة بتعامل اللغة مع قواعد بيانات أوراكل و ODBC و MS-SQL، لأنها سوف لن ترد ضمن أسئلة الاختبار ببساطة.

ولتيسير عملية التمييز بين المواضيع الرئيسية وغير الرئيسية من وجهة نظر واضعي أسئلة الاختبار، توفر شركة Zend دليلا مفصلا من 223 صفحة (أنظر إلى موضوع – مراجع وروابط هامة)، مقسما إلى إثنا عشر فصلا تشتمل على كل المواضيع الداخلة في الاختبار بشكل مختصر وعام، وهذا يعني ان هذا الدليل ليس كافيا لوحده للاعداد للاختبار ولكنه يحدد لك المواضيع المطلوب دراستها فقط، وعليك الاعتماد على مصادر أخرى للتوسع في فهمها.

سأتناول في هذا الموضوع الإثني عشر فصلا من فصول دليل اختبار زيند بشكل ملخص وعلى هيئة نقاط، مع ذكر بعض الملاحظات التي أجدها مهمة.

الفصل الأول: اساسيات بي إتش بي
1-ستجد في دليل الاختبار بعض العبارات التعريفية للغة بي إتش بي والتي من الممكن أن ترد في الإختبار على هيئة سؤال (إملأ الفراغات) فمن المفضل حفظها نصا رغم انني لا أفهم ماعلاقة ذلك بالبرمجة 🙂
2-مطلوب منك الفهم الصحيح لانواع البيانات في بي إتش بي، من رقمية ونصية ومصفوفات، وكذلك المتغيرات والثوابت وعملية التحويل بينها واجراء العمليات الرياضية عليها، ستجد كثيرا من الاسئلة في الاختبار تسألك عن نوع وماهية النتيجة المخزنة في متغير ما، مثال:


Which data type will the $a variable have at the end of
the following script?

<?php

$a

="1";echo

$a; 

?> 

A. (int) 1

B. (string) “1”

C. (bool) True

D. (float) 1.0

E. (float) 1

B الجواب هو

3- كيفية إنشاء وظائف جديدة واستخدامها، عبارات for و while و if وماشابهها.
4- جميع المواضيع الواردة في هذا الفصل تندرج تحت قسم Language Reference في دليل استخدام لغة php على الانترنت، لذا فإن احسن بداية لك هي دراسة كل المواضيع المندرجة تحت هذا القسم وأخذ الوقت الكافي لذلك، لأن فهمك الصحيح لهذه المواضيع هو مفتاحك الرئيسي للنجاح في هذا الاختبار وكمبرمج أيضا.

الفصل الثاني: البرمجة الكائنية OOP
1- كثير من أسئلة الاختبار تأتي من هذا الفصل، والاختبار يشمل البرمجة الموجهة اعتمادا على الاصدار الرابع من لغة PHP فقط.
2- فهم كيفية عمل الفئات والعناصر، وعمليات كالوراثة، واستدعاء الوظائف من داخل الفئات وخارجها.
3- فهم كيفية مناولة قيم المتغيرات باستخدام الإشارات المرجعية Reference المعبر عنها بـ (&)، وهناك أسئلة أكيدة تأتي من ضمن هذا الموضوع.
4- للتوسع في دراسة البرمجة الكائنية قم بدراسة القسم المخصص لذلك في دليل استخدام PHP من هنا .

الفصل الثالث: PHP وشبكة الانترنت
1- القليل من السطور البرمجية، والكثير من الكلام حول مفهوم التعامل مع بروتوكول http والحوار الحاصل بين متصفح الانترنت وسيرفر PHP والبيانات التي يتم تبادلها خلال هذا الحوار.
2- فهم اسلوبي POST و GET ومايرسلانهما من بيانات عند تنفيذ فورم معين، مثال:


Which types of form elements can be excluded from the HTTP request?
A. text, radio and check box
B. text, submit, and hidden
C. submit and hidden
D. radio and checkbox

3- استخدام الكوكيز والجلسات لخزن القيم واسترجاعها والتحقق بواسطتها من هوية متصفح موقع الانترنت أو إعداداته الشخصية.

الفصل الرابع: المصفوفات
1- موضوع مهم وكثير من الأسئلة تأتي من ضمنه.
2- معظم الوظائف المتعلقة بالمصفوفات يجب دراستها وفهمها، وهي الموجودة في دليل استخدام PHP ، من هنا.
3- النقاط المهمة كثيرة، ولكن أهمها هي انشاء المصفوفات المتعددة، ترتيب العناصر والمفاتيح في المصفوفات، عملية تحويل مصفوفة الى نص طويل Serializing واستعادتها.
4- السؤال الذي يتكرر كثيرا عن المصفوفات هو قيمة المفتاح المقابل لقيمة معينة في المصفوفة أو العكس، مثال:


what will the following script output?
<?php

$a

= array ('a' => 20=> 3640) ; 

array_rand ($a);echo

$a[0]; 

?> 

A. A random value from $a

B. ‘a’

C. 20

D. 36

E. Nothing

E الجواب هو

الفصل الخامس: السلاسل النصية والتعابير النمطية Regular Expressions
1- من المواضيع المهمة وكثير من الأسئلة تأتي من هذا القسم أيضا.
2- من المهم فهم عملية البحث في نص معين باستخدام وظائف ()strcmp و ()strstr و ()substr ومثيلاتها، وهناك دائما سؤال من هذا الموضوع، مثال:


Given
$email = '[email protected]';
which code block wil output example.com ?

A. print substr ($email, -1 * strrpos ($email, ‘@’));
B. print substr ($email, strrpos ($email, ‘@’));
C. print substr ($email, strpos ($email, ‘@’) + 1);
D. print strstr ($email, ‘@”);

C الجواب هو

3- دراسة استخدام ()printf لاخراج النصوص بشكل مهيء، دراسة وظائف استبدال النصوص أو أجزاء معينة منها.
4- أساسيات التعابير النمطية من دون التعمق في التعابير المعقدة، المطلوب فهم الأساسيات البسيطة فقط.
5- للاطلاع بشكل مفصل على الوظائف المتعلقة بالسلاسل النصية، قم بزيارة دليل استخدام PHP من هنـــا

الفصل السادس: التعامل مع الملفات
1- موضوع مهم لكن عددا أقل من الاسئلة يأتي من هذا الفصل.
2- فهم كيفية فتح ملف معين للكتابة والقرآءة، كل الوظائف المتعلقة بهذا الموضوع مطلوبة.
3- فهم وظائف الاستفسار عن الملفات كمعرفة أحجامها وأنواعها أو أماكن تواجدها من خلال سكربت بي اتش بي مهمة.
4- وظائف نسخ وحذف وتغيير أسماء الملفات.
5- كل الوظائف المتعلقة بالتعامل مع الملفات تجدها بشكل مفصل في دليل استخدام PHP من هـنـــا

الفصل السابع: إدارة الوقت والتاريخ
1- هناك استطراد حول مختلف انظمة حساب الوقت في PHP في هذا الفصل، رغم قلة عدد الاسئلة التي ترد عنه في الاختبار.
2- كل الوظائف المتعلقة بالتعامل مع الوقت تجدها بشكل مفصل في دليل استخدام PHP من هـنـــا

الفصل الثامن: إدارة البريد الالكتروني
1- يتناول هذا الفصل مفهوم تداول الرسائل الالكترونية بين المستخدم العادي وسيرفر البريد الالكتروني، وهو شرح مفيد بالفعل.
2- وظيفة ()mail، هي المعنية بالشرح والتوضيح بشكل رئيسي في هذا الفصل.
3- هناك توسع في الكلام عن إرسال رسائل البريد الالكتروني بصيغة HTML و إرفاق الملفات والصور معها، رغم عدم ورود أي أسئلة بهذا الخصوص في الاختبار.

الفصل التاسع: قواعد البيانات
1- فصل مختصر، على خلاف ماهو متوقع ليس هناك سوى إشارات قليلة جداً عن قواعد بيانات MySQL ووظائفها.
2- معظم الأمور التي يتم تناولها في هذا الفصل هي حول اساسيات SQL القياسية، من انشاء قواعد البيانات وادخال البيانات فيها وترتيبها وما إلى ذلك.

الفصل العاشر: تدفق البيانات Stream وبرمجة الشبكات
1- دراسة هذا الفصل تفتح أمام عينيك آفاقا واسعة للغة بي إتش بي واستخدامات لم تكن تتوقعها، الشرح الموجود في الكتاب جيد ومفيد، لكن عدد الأسئلة التي تأتي من ضمن مواضيع هذا الفصل قليلة.
2- تتعلم في هذا الفصل البروتوكولات المختلفة لتداول الملفات والبيانات، وتقنيات التغليف File Wrapper وتدفق البيانات Streams والـ pipelines ، والاتصال مع الكومبيوترات المستضيفة باستخدام السوكيت Sockets وأمور تهم عادة المهتمين ببرمجة شبكات الكومبيوتر والانترنت ومستخدمي نظام يونكس بشكل أخص.
3- يمكنك للإطلاع فقط مراجعة مكتبة وظائف الـ Stream في دليل php على الانترنت من هنا .

الفصل الحادي عشر: الأمان
1- من أهم المواضيع التي يجب على المبرمج الاهتمام بها، الشرح في هذا الفصل جيد ومنسق، وهناك عدة أسئلة تأتي من ضمن موضوعات هذا الفصل لأهميته.
2- المطلوب منك فهم أهمية تعطيل أو تنشيط الـ register_globals، كيفية تفادي عمليات الحقن ضمن عبارات لغة SQL، كيفية منع تنفيذ الأوامر shell:
3- أحد المواضيع المهمة حول cross-site scripting التي تستخدم في مهاجمة وتخريب المواقع وكيفية تلافيها، وهناك سؤال حول هذا الموضوع عادة.
4- فهم الوضع الآمن safe_mode والتعامل معه.
5- هناك مبحث مهم في دليل استخدام لغة php يتطرق إلى الكثير من الأمور الواردة في هذا الفصل، هنــا

الفصل الثاني عشر: تصحيح الاخطاء وتحسين الأداء
1- موضوع مهم لكل مبرمج، يتم شرح بعض التقنيات البسيطة التي يستحسن اتباعها في كتابة الأكواد لجعلها مقروءة ومفهومة، وبالتالي سهلة الإصلاح في حال حدوث خطأ فيها، كذلك لجعل الكود قياسيا يمكن لأي مبرمج آخر فهمه واستكمال العمل الذي تبدأه أنت.
2- يوجد مبحث عن كيفية تحسين أداء برامجك من خلال عدم التحميل الزائد على السيرفر المستضيف باتباع قواعد بسيطة في كتابة استفسارات قواعد البيانات، واستخدام اسلوب ضغط البيانات قبل ارسالها والانتباه إلى مواصفات السيرفر المستضيف عند كتابة البرامج التي سيتم تشغيلها عليه.
3- لم أجد مقابلا للمواضيع الموجودة في هذا الفصل في دليل استخدام بي اتش بي، لذا يستحسن قراءتها من دليل اختبار زيند.

وهناك فصل آخر في دليل اختبار زيند يهتم بتحضيرك للاختبار واعطاءك فكرة عن طبيعة الاسئلة وكيفية استخدام برنامج الاختبار على شاشة الكومبيوتر وما إلى ذلك، وسنناقش بتفصيل أكثر هذه الأمور في موضوع مستقل لأهميته.

– انتهى-

حسب ملاحظتي الشخصية اكتشفت أن معظم أسئلة الاختبار تأتي من الفصول الخمسة أو الستة الأولى من دليل اختبار زيند، وبمعدل أقل من الفصول التالية، وقد أشرت إلى ذلك عند استعراضي لكل فصل من فصول الدليل، ولكن يرجى الانتباه إلى أن ذلك يجب أن لا يؤخذ كقاعدة مسلم بها، فقد يختلف اسلوب طرح الأسئلة من وقت إلى آخر حسبما يراه معدوا الاختبار، وسيكون من المفيد الإستماع إلى تصويبات باقي الاخوة الذين اجتازوا الاختبار، ومعرفة طبيعة الأسئلة التي طرحت عليهم ومدى تطابق واختلاف ملاحظاتهم مع ماذكرته هنا.

العديد من المواضيع المطلوبة في هذا الاختبار هي هامة وضرورية لأي مبرمج بي اتش بي، بغض النظر عن تخطيطه لنيل شهادة الهندسة الاحترافية في هذه اللغة أو لا، لذا سنحاول طرح بعض من المواضيع التي تمت الاشارة إليها آنفا على هيئة دروس ومقالات في قسم الدروس من موقع بي إتش بي للعرب، فنرجوا دوام متابعة ذلك القسم للتحقق من الدروس الجديدة حال طرحها.

الكاتب: القيسي | 2006-03-30, 17:55