Questions d’entretiens PHP – Partie 10

Questions sur PHP avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur PHP comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur PHP.
 
Préparez-vous avec cette liste de questions fréquemment posées sur « PHP » afin de pouvoir y répondre en toute confiance.
 
 

1. Est-il possible de supprimer les balises HTML d’une chaîne?
La fonction strip_tags() nous permet de supprimer les balises HTML d’une chaîne de caractères.
 
Exemple:

<?php
	echo strip_tags("Welcome to  <b>WayToLearnX</b>");
?>

 
Sortie:

Welcome to WayToLearnX

 

2. A quoi sert une variable statique dans une fonction?
Une variable statique n’est définie dans une fonction qu’une seule fois, et sa valeur peut être modifiée lors des appels de fonction comme suit:

<?php 
	function myFunc() { 
		static $myVar = 1; 
		echo $myVar; 
		$myVar++; 
	} 

	myFunc();  
	myFunc(); 
	myFunc();
?>

 
Sortie:

1
2
3

 

3. Quelle est la sortie du code suivant?
$i = 010;
echo $i / 2;
La sortie doit être 4. Le premier zéro indique un nombre octal en PHP, donc le nombre est évalué au nombre décimal 8.

 

4. Pourquoi voudriez-vous utiliser === au lieu de == ?
L’opérateur === garantit que non seulement les valeurs sont égales, mais que les deux éléments comparés sont également du même type; Alors que l’opérateur == vérifie seulement que les valeurs des deux éléments sont égales
Différence entre == et === en PHP
 
 

5. Que sont les PSR?
Les PSR sont des recommandations de normes PHP qui visent à normaliser les aspects communs du développement PHP.

Un exemple de PSR est le PSR-2, qui est un guide de style de codage.

 

6. Comment définir une variable accessible dans les fonctions d’un script PHP?
Cette fonctionnalité est possible en utilisant le mot-clé « global ».

<?php 
$str = 'WayToLearnX';

function display(){
    global $str;
    echo $str; // WayToLearnX
}
?>

 

7. Utilisez-vous Composer? Si oui, quels avantages y avez-vous trouvés?
Composer est un outil de gestion des dépendances. Le développeur peut déclarer les bibliothèques sur lesquelles repose son produit et Composer gérera l’installation et la mise à jour des bibliothèques. L’avantage est qu’il permet de gérer les bibliothèques de façon cohérente.

 

8. Comment renvoyer une valeur à partir d’une fonction?
Une fonction renvoie une valeur en utilisant l’instruction return $val;.

 

 
 

9. Quelle est la méthode de hachage la plus pratique à utiliser pour hacher des mots de passe?
Il est préférable d’utiliser crypt() qui prend en charge plusieurs algorithmes de hachage, ou d’utiliser la fonction « hash() » qui prend en charge plus de variantes que crypt() plutôt que d’utiliser les algorithmes de hachage courants tels que « md5 », « sha1 » ou « sha256 » car ils sont conçus pour être rapides. Par conséquent, le hachage des mots de passe avec ces algorithmes peut créer une vulnérabilité.

 

10. PHP est-il un langage fortement typé?
Non. PHP est un langage faiblement typé. Il permet au développeur de ne pas s’inquiéter du type de variables (contrairement au C, C++, Java, etc qui sont dits fortement typés).

Ce qui signifie que PHP n’a pas besoin de déclarer les types de variable. Lorsque vous stockez une valeur de chaîne dans une variable, le type est « string » et si vous stockez une valeur numérique dans cette même variable, le type est « int ».

Exemple:

<?php 
	$var = "Welcome"; //String
	$var = 5; //Int
?>

 

11. Qu’entend-on par variables de variables en PHP?
Lorsque la valeur d’une variable est utilisée comme nom de d’autre variable, elle est appelée variable de variables. $$ est utilisé pour déclarer une variable de variables en PHP.

Exemple:

<?php 
	$str = "hello";
	$$str = " world"; //déclaration du variable de variable
	echo "$str ${$str}"; //Affiche "hello world"
	echo "$hello"; //Affiche "world"
?>

 

12. Que sont les injections SQL, comment les empêcher et quelles sont les meilleures pratiques?
L’injection SQL est une méthode pour modifier une requête dans une instruction SQL envoyée au serveur de base de données. Cette requête peut modifiée ou divulguer des informations telles que le nom d’utilisateur / mot de passe et peut aider l’intrus à compromettre davantage le serveur.

Pour empêcher les injections SQL, il faut toujours vérifier et échapper toutes les valeurs entrées par les utilisateurs. En PHP, cela est négligé en raison de l’accès facile à $_GET et $_POST, et est souvent oublié par les développeurs inexpérimentés. Mais il existe également de nombreuses autres façons pour les utilisateurs de manipuler les variables utilisées dans une requête SQL via des cookies ou même des fichiers téléchargés. La seule véritable protection consiste à utiliser systématiquement des déclarations préparées partout.

N’utilisez aucune des fonctions mysql_* qui sont obsolètes depuis PHP 5.5, mais utilisez plutôt PDO. mysqli_* est toujours une option, mais il n’y a pas vraiment de raison de ne pas utiliser PDO pour obtenir une véritable abstraction. Idéalement, vous souhaitez utiliser « Doctrine » ou « Propel » pour vous débarrasser de l’écriture de requêtes SQL et utiliser un mapping objet-relationnel qui lie les enregistrements d’une base de données aux objets d’une application.

 

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *