Zend Certified PHP Engineer

ZCE Logo für PHP4 \\ Glen Langer // ZCE Logo für PHP 7.1

Contao Camp 2017 in Jever

Version: 1.0.0 vom 11.11.2017

(Logos: www.zend.com)

Über mich

  • Contao seit 2.5.8
  • PHP ZCE (4, 7.1)
  • Forum: BugBuster
  • Camp: James Buster, im Auftrag von Contao
  • http://contao.ninja/

Inhalt

  • Was ist das?
  • Was muss ich dafür tun?
  • Was habe ich davon?
  • Was kostet mich das?
  • Wo die Prüfung durchführen?
  • Wie sieht die Prüfung aus?
  • Welche Fragen kommen in der Prüfung
  • Beispiele der Fragen

Was ist das?

"Zend Certified Engineer" (ZCE) / "Zend Certified PHP Engineer"

  • ein branchenweiter Standard
  • Beweist die eigene PHP-Fachkenntnis

Ein ZCE:

  • hat ein Grundwissen über alle PHP Themen
  • kann Fehler in fremden Quellcodes
    schnell erkennen und beheben

PHP Themen 1/2

  • PHP Grundlagen (Syntax, Operatoren, Variablen, ...)
  • Funktionen (Argumente, Scope, Rückgaben, ...)
  • Daten Formate und Typen (XML, SOAP, JSON, DateTime, ...)
  • Web Features (Session, Forms, Cookies, GET / POST, ..)
  • OOP (Instanzen, Interface, Autoload, Reflection, Traits, ...)
  • Sicherheit (Cross-Site Scripting, SQL Injection, Filter Input, ...)

Priorität: Hoch - Mittel - Gering

PHP Themen 2/2

  • Input/Output (Dateien, Lesen, Schreiben, Streams, ...)
  • Strings (Suchen, Ersetzen, Formatieren, PCRE, ...)
  • Database (SQL, Joins, PDO, ...)
  • Arrays (Funktionen, Iteration, ...)
  • Error Handling (Exceptions, Errors, Throwables (PHP 7))

Priorität: Hoch - Mittel - Gering

Was habe ich davon?

Persönliche und berufliche Vorteile

  • Anerkennung vom Arbeitgeber bzw. Steigerung des eigenen Wertes
  • Differenzierung zu anderen bei einer Stellenbewerbung / einer Ausschreibung
  • Aufnahme im Zend Certified Engineers Verzeichnis für PHP-Profis, weltweit von Personalchefs und -vermittlern genutzt
  • Exclusiver Beitritt in der Linkedin Gruppe für ZCEs
  • Eine kostenlose Zend Studio Lizenz

Was habe ich davon?

bzw. mein Arbeitgeber

  • Sicherstellung von einem hohen Maß an Expertise im PHP-Entwicklungs-Team
  • Maximierung Team-Produktivität und -Performance
  • Professionelles Image gegenüber Kunden und Partnern
  • Wettbewerbsvorteile

Was muss ich dafür tun?

  • Vorbereitung
  • Voucher erwerben
  • Prüfung bestehen

Basis ist PHP 7.1, Error Reporting ist gesetzt auf E_ALL, Fehler werden angezeigt.

Vorbereitung

  • Testfragen durchgehen (Online)
  • PHP Certification Study Guide (Offline)
  • Lücken finden
  • Lücken beseitigen => lernen!

Voucher erwerben

  • Über zend.com Voucher erwerben
  • Kostet derzeit $195 (~$125 als Wiederholungstäter)
  • Ein Jahr gültig
  • Vorlage beim Prüfungszenter
    (Pearson VUE Testing Center)

Prüfung bestehen

  • Online Prüfung (englisch)
    (in einem der Pearson VUE Testing Center)
  • Ohne Hilfsmittel
  • 75 Fragen in 90 Minuten
  • Multiple Choice
  • Freitextfragen

FAQ 1/4

  • Wer schreibt die Examen?
    • Mitglieder des Zend PHP Education Advisory Board
    • gehören zu den bekanntesten und angesehensten in der PHP-Gemeinschaft.

FAQ 2/4

  • Wie und wann erfahre ich ob ich bestanden habe?
    • Sofort am Ende der Prüfung.

FAQ 3/4

  • Kann ich die Prüfung wiederholen?
    • Ja, aber neuer Voucher fällig, Rabatt möglich

FAQ 4/4

  • Wann erhalte ich welche Nachweise?
    • Urkunde per Mail in 8-10 Wochen
    • Eintrag ins Verzeichnis in 24-48 Stunden, editierbar über Zend Account
    • Logo zur Verwendung per Download

Beispiele der Fragen

Einige Beispielfragen aus den einzelnen Themengebieten. Hier wurden bewust welche genommen, die in Eile oft falsch beantwortet werden.

What will be the output of the script?

<?php 
    echo count("Contao");
?>

a) 0

b) 6

c) true

d) 1

What will be the output of the script?

<?php 
echo 'Contao ' . 1 + 2 . '34';
?>

a) Contao 334

b) 234

c) 0

d) Contao 1234

Which of the following statements is true about deleting a client's cookie?

a) You can delete a cookie by using the session.rem_cookie() function.

b) You can delete a cookie by using the delcookie() function.

c) You cannot delete a cookie from a client computer.

d) You have to set the session.gc_maxlifetime INI setting in the php.ini file.

setcookie("user", "", time()-3600);

What will be the output of the script?

<?php 
    for ($i = ord('a'); $i < ord('e'); $i++);
        echo chr($i);
?>

a) abcd

b) d

c) e

d) c

What will be the output of the script?

<?php 
    $a = 0;

    if ($a = 10)   { echo "a"; }

    if ($a == 0)   { echo "b"; }

    if ($a == "0") { echo "c"; }

?>

a) abc

b) a

c) b

d) bc

Which of the below provided options is correct regarding the below code?

<?php 
    $a = array (1, 2, 3);
    $b = array (1 => 2, 2 => 3, 0 => 1); 
    $c = array ('a' => 1, 'b' => 2, 'c' => 3);
    var_dump ($a == $b); 
    var_dump ($a === $b); 
    var_dump ($a == $c); 
?>

a) false true true

b) true true false

c) true false true

d) true false false

What will be the output of the script?

<?php 
$a = 5; 
$b = 4; 
$c = ($a++ * ++$b);  
echo $c;
?>

a) 20

b) 24

c) 25

d) 30

What will be the output of the script?

<?php 
    define('MYCONSTANT', 0);

    if (empty(MYCONSTANT)) {
        echo "Hello";
    }
    else {
        echo "Goodbye";
    }
?>

a) Goodbye

b) Hello

c) Syntax Error

In which of the following ways will you receive data from a Web page if you do not know how data is sent?

a) $_REQUEST[ ]

b) $_GET[ ]

c) $_POST[ ]

d) $_SEND[ ]

Consider the following PHP code:

<?php 
echo strlen(md5(rand(),TRUE));
?>

a) 64

b) 8

c) 32

d) 16

Which of the following functions can be used to compare two strings using a case-insensitive binary algorithm?

a) strstr()

b) substr()

c) strcasecmp()

d) strcmp()

What will be the output of the script?

<?php 
    $numbers = array(5, 6, 7, 8);
    end($numbers);
    while (key($numbers)) {
        echo current($numbers);
        prev($numbers);
    }
?>

a) 5678

b) 8765

c) 321

d) 876

Linkliste

Zend Certifications:

PHP Certification:

Nützliches:

Danke!

Contao Ninja

 

Aktuelle Version dieser Folien auf: docs.contao.ninja

(auch als PDF - Später auch als Video?)

 

Pause

<?php 
try {
  drinkCoffee()
} catch (OutOfCoffeeException) {
  die(-1)
}
?>