PHP/JS

Fragebögen

Fragebögen


S. S.
Diese Lernkarten decken fortgeschrittene Themen der Programmierung mit PHP und JavaScript ab, die für Universitätsstudenten relevant sind. Sie konzentrieren sich auf die Handhabung von Variablen, Objekten, Klassen und Funktionen, sowie auf die Integration von Datenbanken und die Verhinderung von SQL-Injection durch Prepared Statements. Die Karteikarten behandeln auch die Verwendung von PDO für Datenbankzugriffe und die Unterschiede zwischen flachem und tiefem Klonen. Programmierer, die ihre Fähigkeiten in der Webentwicklung vertiefen möchten, profitieren von diesen Karteikarten, da sie praktische Beispiele und Best Practices für die sichere und effiziente Codegestaltung bieten.
Cartes-fiches
103
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
10.03.2018 / 25.01.2024

Cartes-fiches

Werden PHP-Skripte auf dem Browser oder auf dem Server ausgeführt?

die skripte werden auf den Web-Server gebracht , indirekt vom Browser per HTTP aufgerufen und auf dem Server ausgeführt

Was ist das besondere Kennzeichen von Skript-Sprachen im Gegensatz zu Sprachen wie Java?

  • flexible: kene Typ-Deklearation
  • reicher an Funktionen, die ebenfalls von anderen Programmiersprachen "akzeptiert" werden

Wie werden syntaktisch PHP-Abschnitte in HTML-Seiten eingebunden? Und wo - im Header oder im Body?

 

<html>

<body>

<?php

echo "hello";

?>

</body>

  • im Body

</html>

Wo liegen die Datein, in denen HTML und PHP gemischt definiert wurden? Auf dem Server oder im browser?

Die Datein liegen auf dem Server und werden von dort aus vom Browser aufgerufen

Wenn eine Seite via HTTP vom Server zum Browser übertragen wird, erhält sie üblicherweise PHP-Code? Gilt das auch für JS?

  • nein, sie enthält kein PHP-Code. Der PHP-Code wird zu HTML konvertiert und dann übertragen
  • JS wird übertragen und vom Browser interpretiert

Welche primitiven Datentypen kennt PHP? Müssen Variablen in PHP deklariert werden? Falls es Ausnahmen gibt, beschreiben Sie diese.

  • Integer, Double, Boolean
  • Variablen müssen nicht deklariert werden. Ab PHP 7 können Parameter mit einem Typ deklariert werden

Wodurch wird in PHP der Typ einer Variablen bz. eines Parameter zugeordnet? Lässt sich der Typ während der Laufzeit der Variablen abfragen? Falls ja, nennen Sie ein Bsp.

  • ab dem Zeitpunkt der Zuweisung eines Wertes zum jeweiligen Typ
  • Abfrage durch getType($wasbinich);

In PHP wird der Name einer Variablen aus Versehen falsch geschrieben und auf der rechten Seite einer Zuwesiung innerhlab eines Ausdrucks benutzt. Sie starten die Software: was passiert?

An der Stelle mit dem falschen Namen wird nichts ausgegeben. Der Ausdruck wird ohne den Wert der Variable ausgegeben

In der Bezeichnung der Variablen unterscheidet sich PHP von Java. Worin besteht der augenfälligste Unterschied? Gilt das auch für adere Identifier? Falls ja, welche?

  • es soll kein Typ deklariert werden, alle Variablen werden mit $ gekennzeichnet
  • Variablen in PHP können mit "_" anfangen

Welche Bedeutung hat include? Und welche include_once? Warum ist in einigen Fällen die Benutzung von include_once erforderlich? Skizzieren Sie dazu einen Fall.

  • Einbetten von externen PHP-Datein
  • include: PHP-Datei kann mehrmals in verschiedenen Stellen geladen werden
  • include_once kann Datei nur einmal geladen werden -> z.B in Fall von Definitionen von Konstanten

Worin besteht der Unterschied zwischen include und require?

  • include: bei Fehlern wird weiter bearbeitet
  • require: bei Fehlern erfolgt Abbruch

Werden PHP-Programme mit einem Binder wie bei traditionellen Programmiersorachen vor dem Programmstart zusammengesetzt?

In der Regel nicht, ejedoch gibt es einen Binder der erlaubt aus PHP-Programmen native Applikationen zu erstellen

Sind in PHP dynamisch lange Parameterlisten von Funktionen möglich? Falls, ja wie wird dies realisiert?

Ja, durch Arrays

Wie sieht die Deklaration einer Funktion in PHP und wie deren Aufruf aus? Skizzieren Sie ein Bsp für beide Fälle

  • Deklaration: function name($arg1){
    ... return Ausdruck;
    }
  • Aufruf name("Anneliese");

Wie werden in PHP ab Version 7 bei Funktionen Type Hints realisiert? Machen Sie dazu ein Bsp.

declare(strict_types=1);

function mySuperFunction():bool{
return'abcd';
}

Wie heißt der String-Zusammensetzungsoperator in JavaSkript und wie in PHP? Nennen Sie jeweils ein sinnvolles, syntaktisch korrektes Beispiel.

  • JS: + -> var a = "smooth"; var b=" operator"; var c= a+b;
  • PHP . -> $a="smooth "."operator";

Worin besteht die besondere Bedeutung von „===“ im Gegensatz zu „==“? Was bedeutet hierbei „!==“?

  • ===: true, wenn Variablen vom gleichen Typ sind 9===9
  • ==: true, wenn Variablen gleich sind 9=="9"
  • !==: true, wenn Variablen nicht gleich und nicht typ identisch 9!=="8"

Was ist in PHP ein Hash? Was ist ein Array? Welche Besonderheiten haben Arrays in PHP - im Gegensatz zu Arrays in Java? Nennen Sie mindestens zwei.

  • Array: zusammenhängende Kette von Werten, mit Index(int) und einem zugewiesenen Wert
  • Hash: Indexwerte können String enthalten $b["Anrede"]= "Frau";
  • Array kann Elemente verschiedenen Typs enthalten und ist dynamisch, keine festlegung der Größe

Ist es in PHP möglich in ein bestehendes Array ein „Loch“ zu erzeugen? Ein Loch sei ein fehlendes Element. Falls ja, was würde dies für den Zugriff auf die Elemente z.B. innerhalb einer For-Schleife bedeuten?

Ja, bei Zugriff z.B durch eine for-Schleife bedeutet das Auslösen einer Exception

Wie erfolgt in PHP der Zugriff auf Werte aus HTML-Formularen?

  • Zugriff erfolgt über Array $_get['vorname']

Nennen Sie mindestens vier Kontrollkonstrukten in PHP.

  1. if else
  2. for
  3. foreach
  4. do while

Was sind magische Konstanten? Nennen Sie dafür zwei Beispiele. Warum werden diese „magisch“ genannt?

  • magische Konstanten sind Konstanten, die eigentlich nicht konstant sind, da sich ihr Wert ändern kann
  • magisch, da Konstante genutzt werden kann, aber ihren Wert verändert
  • _LINE_ gibt die Zeilennummer aus. in welcher sie verwendet wurde
  • _FILE_ den vollständigen Pfad und Dateinamen einer Datei

Ab der Version 7.1 von PHP kommen weitere Möglichkeiten von Type Hints hinzu. Was bedeutet dann „?string“ im Gegensatz zu „string“?

  • ?string Übergabe und Rückgabe von Strings und null
  • string erlaubt nur Übergabe von Rückgabe von Strings

Nennen Si ein korrektes Bsp für ein superglobales Array/Hash. Was bedeutet superglobal?

  • superglobal bedeutet, dass keine diese Arrays nicht deklariert werden sollen
  • $_SESSION

Sie haben in PHP eine globale Variable außerhalb von Funktionen definiert. Nun wollen Sie diese Variable innerhalb eine rFunktionen benutzen. Was müssen Sie tun, damit dies gelingt?

aufruf durch : global $var

Wie werden allgemeine, globale Konstanten außerhalb von KLassen in PHP deklariert? Und wie benutzt?

  • $GLOBALS[]
  • innerhalb von Funktionen Zigriff mit global  $GLOBALS[]

Sie wollen gut wartbare Software in PHP entwickeln und wollen dazz die Konfiguration nicht in den allgemeinen Code verstreut einbauen. Wie realisieren Sie dies am besten?

durch require oder include externe Datein einbinden und die enthaltenen Konfigurationen benutzen

 In PHP lassen sich abstrakte Klassen definieren. Wie sieht der syntaktische Aufbau einer Klassendefinition aus? Skizzieren Sie das Prinzip.

 

Aufbau einer Klassendefinition aus? Skizzieren Sie das Prinzip.

[abstract] class Name [Inheritance] {

[Variablen-Deklarationen]

[Funktion-Deklarationen]

}

 

Wodurch können Sie in PHP Instanzen von Klassen erzeugen? Machen Sie ein sinnvolles Beispiel.

 

$auto1 = new Auto();

In PHP gibt es besondere Methoden, deren Namen mit "__" anfangen. Nennen Sie eine, die bei der Objekterzeugung eine wichtige Rolle spielt und erläutern Sie, was diese tut.

 

_construct, diese Funktion wird bei new() aufgeruden. Sie erzeugt ein neues Objekt von der zu initalisierten Klassen

Sie weisen aus Versehen einem nicht in einer Klasse definierten Attribut eines Objektes einen Wert zu. Was passiert?

 

Für dieses Objekt wird das Attribut neu angelegt, da zur Laufzeit Attribute hinzugefügt werden können

Lassen sich in PHP Methoden wie in Java überladen? Was wird unter Überladen verstanden - im Gegensatz zum Überschreiben? Falls nicht, warum?

 

Nein, weil der Mechanismus nicht vorhanden ist. Überladen bedeutet, dass zwei oder mehrere Methoden den gleichen Namen haben, aber jeder davon kann verschiedene übergebenen Variablen bekommen
 

Was wird unter einem flachen und was unter einem tiefen Klonen verstanden?

 

  • flaches Klonen: Kopieren der Werte und Referenzen nur der Wurzel eines Objekt-Geflechts
  • tiefes Klonen: Kopieren des gesamten Objekt-Geflechts

Ein Objekt wird in PHP ab Version 5 als Parameter an eine Funktion übergeben. Wird das Objekt kopiert oder wird dessen Adresse übergeben? Ist das in Java auch so oder anders?

 

  • PHP: Strings und Arrays werden kopiert
  • Java: Übergabe der Adresse

Es wird in PHP ab Version 5 einer Funktion ein Array als Parameter übergeben. Wird dieses Array dazu kopiert oder wird dessen Adresse übergeben? Ist das in Java auch so oder anders?

 

Das Array wird kopiert, in Java nur die Adresse übergeben.

Was wird in PHP schon vor Version 7 unter "type hints" bei der Verwendung von Klassen verstanden? Was lässt sich damit erreichen?

 

  • Einschränken der Objekttypen für übergebene Variablen
  • bei Version 7 konnte man nur Typen von Objekten beschränken und keine primitiven Datentypen

Was bedeutet Reflexion? Nennen Sie mind. 3 Beispiele für Routinen, mit denen Sie in PHP reflektieren können.

 

  • Reflexionen sind ein Set von Routinen, mit denen man die Eigenschaften des Objekts sehen kann
  • get_class()
  • get_class_methods()
  • getParentClass()

Wie sieht in PHP ein Interface aus? Machen Sie dazu ein Beispiel.

interface File{

public function read();

public function write();

}

Wozu dienen Interfaces? Was wird getan, wenn "gegen ein Interface" programmiert wird?

 

  • ein Interface stellt Methoden zur Verfügung, welche in Klassen implementiert werden können
  • das Interface wird implementiert und die Methoden werden übernommen und ggf. implementiert

Wie werden in PHP abstrakte Klassen deklariert? Und wie werden sie benutzt?

abstract class File{

abstract public function read();

}

  • hauptsächlich Vererbung, aber auch um sicher zu stellen, dass keine Objekte von einer Klasse erzeugt werden

Étudier