Bonjour,

Voila je rencontre un petit problème avec mon code.

<?php 
function nav_item ( string $lien, string $titre): string { 
 $class = 'nav-item'; 
if ($_SERVER['SCRIPT_NAME'] == "/$lien") {   
$class = $class.' active';
 }  
return '<li class = "'. $class.'"><a class="nav-link" href="'.$lien.'">'.$titre.'</a></li>';  
} 
?>

J'obtiens un soulignement en rouge de nav_item tout de suite après function mindiquant : '(' expected. php qui si je comprend bien me demande de rajouter une parenthèse ouvrante.

Alors là, je suis largué !
Je reprend les cours donnés sur Graphikart (https://www.grafikart.fr/tutoriels/html-template-php-1122) à la position 22"43.
Si vous avez une idée.... Merci d'avance

4 réponses


Bonjour,
Qu'elle est ta version de php ?

Bonjour, je ne sais pas si je pourrais réellement t'aider parce que je suis débutant aussi, mais j'ai repris ta vidéo là ou tu nous a dis reprendre donc : 22"43, et je pense déjà que tu devrais mettre des "e" à la fin de "$class" comme il le fait dans la vidéo, j'ai vu que plus tard il le redéclarait sans "e" donc je pense que ça pourrais faire un peu le bordel plus tard.

Je n'ai pas regardé ce qu'il y avait précédemment dans la vidéo mais du coup pourquoi dans ton code ligne 4 tu as : == "/$lien" alors que dans le sien, au niveau des 22"43 il a : === $lien ?

Je ne suis pas un expert mais je pense que déjà ça pourrait t'aidé, après si ça ne marche pas, je suis désolé mais je ne pourrais rien pour toi ^^'

Bonne journée :)

Bonjour le typage de retour n'est disponible qu'a partir de la version 7 de php

: string
hars
Auteur

Bonjour et merci pour vos retours.
@DrBabFanta : Cela ne change rien si le nom de la variable déclarée et appelée reste identiques. De plus, si j'ai rajouté un slash (/), c'est tout simplement une erreur que j'ai corrigé.
De toute façon, les liens dans ma navbar ne sont pas affichés, alors, je continue de chercher la raison...

@olive140 : J'utilise la version 7.3.5 de php donc cela ne viens pas de là je suppose.

J'ai donc pour la seconde fois désinstallé Visual Studio Code, supprimé les fichiers inutiles, la BdR, et j'ai réinstallé la version 32 bits plutôt que la 64 bits. Tout fonctionne correctement maintenant.
Mon PC est pourtant en 64 bits.

Le principal est que mon souci soit réglé...

Merci encore pour votre soutien ;-)