Bonjour,
Voilà je suis débutant en Php Orienté Objet et je suis les cours de formation que propose Grafikart depuis quelques jours.
je rencontre cependant un problème avec mon code, au module "Mise en pratique de la POO en PHP", chapitre 1: Structure du projet.
J'ai bien suivi et exécuté toutes les étapes jusqu'au moment où mon navigateur m'affiche cette erreure : Parse error: syntax error, unexpected ':', expecting ';' or '{' in C:\wamp64\www\MonFramwork\src\Framework\App.php on line 12.
Pour me rassurer que le problème ne venait pas de mon code, j'ai téléchargé le code source en ligne que j'ai exécuté. Patate chaude; même erreure. Là suis callé, par ce que je ne sais pas si le problème vient de windows 10, de wampserver 3.1, de google chrome, ou alors...
Je pense qu'il est unitile de vous afficher les codes. Vous les avez en téléchargement.
Merci pour vos réactions et bon début de semaine les codeurs.
Bête erreur de points virgule ou accolade manquante dans ton code. Re-vérifie le.
Amicalement
<?php
namespace Framework;
use GuzzleHttp\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
class App
{
public function run(ServerRequestInterface $request): ResponseInterface
{
$uri = $request->getUri()->getPath();
if (!empty($uri) && $uri[-1] === "/") {
return (new Response())
->withStatus(301)
->withHeader('Location', substr($uri, 0, -1));
}
if ($uri === '/blog') {
return new Response(200, [], '<h1>Bienvenue sur le blog</h1>');
}
return new Response(404, [], '<h1>Erreur 404</h1>');
}
}
Merci pour votre réponse. Mais aidez moi à revoir ce code parce que je ne vois pas comment corriger cette erreure. J'ai beau placer ces ';' et '{' dans ce code, mais ça ne fonctionne pas.
Merci encore.
Bingo!
la notation du retour des fonction n'est venu qu'avec la version 7, donc php 5.6 ne peut pas comprendre le ": ResponseInterface" lui attend une { d'où le message d'erreur que tu as.
Passe en 7 voir mieux en 7.2 et ton code marchera.
Pour rappel, les versions 5.X ne sont plus maintenues et la version 7.0 ne reçoit plus que des MAJ de sécurité jusqu'au 03/12/2018.
Pas de changement. Je suis en train de voir si une version de wamp est disponible avec php7. X stable.
Sinon il suffit de retirer le
: ResponseInterface
Pour rendre ce code compatible avec php 5.6.
Cordialement,
Bonsoir tout le monde et merci pour le soutien que vous m'avez apporté pour la résolution de mon problème.
J'ai finalement pu le résoudre après quelques bidouillage.
Dans un premier temps, j'ai désinstallé wamp serveur et supprimer de mon ordinateur tout ce qui pouvait être en rapport avec ce serveur local. En seconde partie, j'ai téléchargé php7.2 stable et apache2.4; Voici le lien pour php7.2 windows.php.net/download/ et pour apache, suivre cet autre lien www.apache longe.com/download/. Pour terminer, j'ai suivi l'installation que propose ce site: danielarancibia.wordpress.com/2015/09/27/installing-apache-2-4-and-php-7-for-development-on-windows/.
Maintenant tout fonctionne.
Merci encore et à très bientôt.
Amicalement