J'y suis allé et j'ai vu l'erreur est c'est dû à une incompatibilité de version comme je te l'ai dit.. Si tu es toujours en contact avec lui expose lui le problème, parce que ça ne sera pas facile pour toi de le faire.
On ne crée pas de site web sur un claquement de doigts. Poser des questions sur le forum, qui est censé être un forum d'entraide, très bien, à condition de connaître un minimum. Çà tombe bien, nous sommes sur un site qui donne des cours gratuits ! Alors plongez vous dans les cours et créer un formulaire d'inscription, travailler en local avec MAMP, LAMP ou XAMP ne sera plus sorcier pour vous. Les cours sont suffisamment bien fait pour faire avancer tout le monde, même les novices ! Allez on se remonte les manches et on bosse 😀
Bien à vous tous;
Philippe
La chute n'est pas un échec, l'échec c'est de rester là où on est tombé!
J'en suis à l'activité 2 et j'ai deux questions sur les dernières itérations :
Itération 11 : préparation pour la production
quand je lance le test via la commande vendor\bin\phpunit.bat je n'ai pas le même résultat que le cours, j'ai une liste d'options disponible pour la commende. Je voulais savoir parmi toutes les options laquelle il fallait utiliser pour faire les tests. (cf capture)
Itération 13 : réorganisation des contrôleurs
J'ai bien repris le code et mes routes fonctionnent correctement mais j'ai remarqué un souci. Quand on clique sur un article pour avoir le détail en n'étant pas connecté avec un nom d'utilisateur on arrive bien sur la page de l'article en question.
Par contre quand on est connecté (par exemple JaneDoe), quand on clique sur un article on arrive sur une page d'erreur (message d'erreur par défaut). Je voulais savoir si d'autres personnes avaient aussi cette erreur et si oui que faudrait-il corriger ?
Je vous expose mon problème. J'ai une page sur laquelle se trouve un menu déroulant et une liste de commandes. Je cherche à trier les commandes en fonction du choix de l'utilisateur dans le menu déroulant. J'arrive à trier quand je mets moi même suivant quelle variable trier, mais je n'arrive pas à incorporer la valeur du menu déroulant dans ma requête SQL. Auriez-vous une idée?
Bonjour à tous, Je suis arrivé à l'étape exercice 1 du cours: "Créez une application de gestion de livres" J'ai une question sur le rendu. J'ai pris l'habitude, dans d'autres cours, de télécharger un zip de l'exercice à effectuer, dont il faut compléter le code php.
Donc, ici, que faut-il envoyer aux correcteurs ?
----
EDIT
J'ai envoyé mon travail et corrigé 5 autres. Donc, mis à part le dossier vendor, on peut tout envoyer dans l'archive.
Cette fois-ci, un avertissement php à propos de salt (salage User), considéré comme obsolète depuis php7. Après un peu de lecture, générer un salt ne semble plus nécessaire avec la version 7 de php, mais, sauf erreur de ma part, la génération d'un salt ne génère pas d'erreur sur les versions php précédentes.
De plus, si je tente de passer php en version 5.6.*, ma version récente de twig me génère une erreur - mais pas sous php 7.
Bref, pour l'instant, je reprends le cours à partir de la fin de l'itération 10 - téléchargement de la branche du dépôt GitHub afin de pouvoir continuer paisiblement, sous php v5.6.*
Quant à la mise à jour des composants en utilisant la version 7 de php, si quelqu'un sait comment : - ne pas générer de salt quand on est sous php 7 mais - générer un salt quand on est sous une version php <7.*
cela me serait utile;-)
Il ne me restera plus, alors, qu'à vérifier d'où provient l'erreur générée lors de l'utilisation d'une version récente de twig avec un php 5.6*
Merci
EDIT ----- Les versions des différents composants conseillés par le cours, - cf composer.json du cours - zip Github itération 10,semblent générer la même erreur (salt obsolete) quand on exécute le script sous php 7.*
L'erreur twig générée sous php 5.6.* - et pas sous php 7.*, semble due à la version de twig (2.*). Elle ne se produit plus sous une version plus ancienne de twig (1.3)
J'ai une question globale par rapport à l'itération 12 - API :
Si mon unique but est de créer une API (que je rattache à une application mobile), est-il utile de garder une classe comme Article.php, qui contient les attributs, getters et setters ?
J'ai deux solutions qui marchent :
- Celle en suivant les conseils du cours et en gardant cette classe
- Celle en ayant simplement une fonction de récupération des données, directement envoyées dans la route associée. Aucun lien avec des attributs, getters ou setters.
Alors la 2e est plus rapide, mais faut-il garder la 1e méthode d'un point de vue code ? Ou pour une API uniquement je peux rester sur la 2e méthode ?
Bonjour à vous.je voudrais solliciter vos aides pour avoir la solution à mon script php.
en fait le script refuse de se connecter à la base de donnée.ressayer le mot de passe,le nom de la base,bien sélectionné php_pdo_mysql et rien.
Bonjour
En fait, il faut vérifier plusieurs choses.
Dans la base de données, si vous y avez accès via un identifiant/mdp général(du genre 'root'):
- le nom de la base de données est correct (majuscules/minuscules/espaces?)
- le nom utilisateur est correct pour cette base; ses droits d'accès à la base sont complets
- le mot de passe utilisateur est correct; nb: vous pouvez le modifier en le remplaçant par celui mémorisé dans votre script
Si tout semble ok (la base existe, l'utilisateur est bien mémorisé avec tous les droits pour cette base, son mot de passe est ok), le problème se trouve ailleurs: dans votre script de connexion ?
De mémoire, une page blanche résulte d'une erreur php, alors que 'error_reporting' de php n'est pas activé.
Normalement vous devriez trouver l'erreur dans le fichier log de php (sous Xamp, clic gauche, php/php error log). A priori, et sauf erreur de ma part, il faut activer l'affichage des erreurs php, qui vous affichera l'erreur.
Faire une recherche web de type "php erreur page blanche", Ce qui donnera, par ex, des explications de ce type
note: Sinon quand je parlais de vous connecter à la bdd, je parlais de passer par le gestionnaire de la bdd (sous Xamp: phpmyadmin)
salut, j'utilise l'api facebook me permettant de recuperer les photos des abonnées a mon application. j'aimerais joindre cette photos a une autre et publier. comment faire pour travaillé ce genre d'image ? merci d'avance
Je n'ai pas saisi cette partie dans CommentDAO.php :
public function findAllByArticle($articleId) {
$article = $this->articleDAO->find($articleId);
$sql = "SELECT id, content, author FROM comments WHERE art_id = ? ORDER BY id";
$result = $this->getDb()->fetchAll($sql, [$articleId]);
$comments = [];
foreach($result as $row) {
$comment = $this->buildDomainObject($row);
$comment->setArticle($article);
$comments[$row['id']] = $comment;
}
return $comments;
}
protected function buildDomainObject(array $row) {
$comment = new Comment();
$comment->setId($row['id']);
$comment->setContent($row['content']);
$comment->setAuthor($row['author']);
if(array_key_exists('art_id', $row)) {
$articleId = $row['art_id'];
$article = $this->articleDAO->find($articleId);
$comment->setArticle($article);
}
return $comment;
}
Une explication est donnée dans le cours, mais je n'ai pas compris pourquoi on teste si la clé "art_id" existe ? Surtout qu'on se retrouve à refaire la même chose une fois la méthode buildDomainObject() appelée, dans la méthode findAllByArticle().
je suis à l'itération 9 et j'ai un problème. Après avoir tapé tout le code, le message d'erreur suivant s'affiche :
(1/1) ClassNotFoundExceptionAttempted to load class "MessageFormatter" from namespace "Symfony\Component\Translation\Formatter".Did you forget a "use" statement for another namespace?
Je me suis dit que j'avais peut-être fait une erreur, alors j'ai copié-collé tous les codes du cours, mais l'erreur est toujours là. J'ai donc cherché sur google et je suis aller sur github pour récupérer le namespace et j'ai essayé d'ajouter le namespace manquant, mais comme je ne sais pas précisément dans quel fichier, j'ai essayé dans tous les fichiers dans lesquels il y a déjà d'autres namespaces, et l'erreur est toujours là. Je ne sais pas comment accéder au code de chaque itération. Je pense que mon problème se situe dans le dossier vendor.
Est-ce quelqu'un a eu le même problème ? Et si oui, a t-il trouvé une solution ?
Sinon, est-ce quelqu'un peut m'aider s'il vous plaît ?
Type error: Argument 1 passed to Symfony\Bridge\Twig\Extension\FormExtension::__construct() must be an instance of Symfony\Bridge\Twig\Form\TwigRendererInterface, instance of Symfony\Component\Form\FormRenderer given, called in /var/www/html/site-openclassrooms.com/evoluez-vers-une-architecture-php-professionnelle/MicroCMS/vendor/silex/silex/src/Silex/Provider/TwigServiceProvider.php on line 138
Si je supprime le dossier vendor et que je fais composer update, ça réinstalle tout à partir du cache. Mais quel cache ? Celui de linux ou un autre cache ?
@encelmo j'ai essayé cette commande, ça n'a pas l'air de marcher. Ou alors il faut peut-être ouvrir la console dans un répertoire précis. Est-ce que la commande que tu as indiquée marche sur Ubuntu ?
Je pense finalement que mon problème n'a rien à voir avec le cache, il doit me manquer des classes dans silex ou symfony. Le cours a été écrit avec la version 5.6 de php, et j'utilise la version 7.2.3 de php et je suis sur 17.10 d'ubuntu, je ne sais pas si c'est ubuntu qui impose une version spécifique de php en fonction de la version d'ubuntu en question, ou si la dernière version de php est automatiquement choisie lors de l'installation de lamp. En tout cas, est-ce que quelqu'un a une idée sur les modifications à apporter sur la version 7.2.3 de php par rapport à la version 5.6 pour que mon code fonctionne correctement ?
bonjour à tous .. c'est le seul sujet de php que j'ai trouvé donc c'est ici que je pose mon pb . c'est au sujet du cours sur "concevez votre site web avec php et mysql " je rencontre certaines difficultés au niveau du chapitre "lire des données" .. mon champ prix n'arrive pas à s'afficher .
<?php $bdd = new PDO('mysql:host=localhost;dbname=test', 'root','', array(PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION)); $requete = $bdd->prepare('SELECT prix FROM jeux_video'); while ($donnees = $requete->fetch()) { echo '<p>' . $donnees=['prix'] . 'FCFA</p>'; } ?> // voici mon code
Notice: Array to string conversion in C:\xampp\htdocs\test\jeux_video.php on line 6 // voici mon message d'erreur
j'ai mm essayé de changer le type de prix mais apparement c'est pas ca le pb
bonjour, j'ai un probleme avec le virtual host.Tout semble bien parametré, mais lorsque je me connecte à microcms je n'obtiens qu'une page avec inscrit it works. bloqué dessus depuis 2 jours. Merci de vos lumieres cdt olive
Cours Architecture PHP professionnelle / Questions
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
C.K