PHP et API Facebook : Classes introuvables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP et API Facebook : Classes introuvables

Re: PHP et API Facebook : Classes introuvables

par Sebastien » 16 déc. 2016, 14:12

mercik, j'avais fait deux post pour bien scinder les sujets. Tu as eu raison de reprendre, ca va en aider + d'un je pense

Re: PHP et API Facebook : Classes introuvables

par moogli » 16 déc. 2016, 14:00

je reprend ce que j'ai mis dans l'autre message

Facebook\Facebook : il s'agit de la classe Facebook dans l'espace de nom Facebook.
c'est la même chose que les packages dans d'autre langage (java ou autre). Le but est d'éviter un conflit sur les nom de classe (il est possible que quelqu'un d'autre ai déjà créé une classe Facebook mais ce n'est pas la même chose (pas la même interface ou la même utilisation).
La doc des espace de nom : http://php.net/manual/fr/language.namespaces.php

pour l'erreur je pense que tu n'as pas inclus le fichier contenant la classe Facebook dans ton fichier /Applications/XAMPP/xamppfiles/htdocs/facebook/src/Facebook/index2.php

comme pour tout code d'un autre fichier il faut faire un include / require (once ou pas) pour utiliser le code.
La façon de ne pas le faire et que le code soit dispo par "magie" c'est d'utiliser un autoloader (PSR-4, comme composer).

Il y a peux être des chose évidente comme l'inclusion du SDK qui n'est pas mentionner, cela peu permettre d'éviter les copier coller "qui ne marche pas" :-)

@+

PHP et API Facebook : Classes introuvables

par Sebastien » 16 déc. 2016, 13:04

Bien qu'ayant repris le code de Facebook exemple, j'obtiens une erreur de classe introuvable

Code : Tout sélectionner

<?php require 'autoload.php'; require("app-id.php"); $facebook = new Facebook\Facebook(array( 'appId' => $app_id, 'secret' => $app_secret_key, ));
avec

Code : Tout sélectionner

Fatal error: Class 'Facebook' not found in /Applications/XAMPP/xamppfiles/htdocs/facebook/src/Facebook/index2.php on line 9
Le ligne 9 étant

Code : Tout sélectionner

$facebook = new Facebook\Facebook(array(
Quelqu'un pourrait m'expliquer a quoi sert l'anti slash dans cette ligne ? cela me permettrait peut etre de comprendre pourquoi il ne trouve pas la classe...