Comment importer les fichiers du fournisseur dans CakePHP 3x
Je travaille avec CakePHP 3(beta 2) version a été lancé récemment. J'ai besoin d'intégrer Facebook connectez-vous en utilisant PHP Sdk et je ne suis pas clair avec l'importation de fichiers vendor dans cette version.
Dans CakePHP, 2x, j'avais utilisé
App::import('Vendor', 'Facebook', array('file' => 'Facebook' . DS . 'src'. DS. 'facebook.php'));
J'ai donc besoin de reproduire le même dans CakePHP 3x(je ne suis pas en utilisant compositeur).
Aucune référence pour cette?
source d'informationauteur G.J
Vous devez vous connecter pour publier un commentaire.
Bien vous devrez vous charger vous-même si le compositeur n'est pas une option. Vous pouvez toujours utiliser le très de base nécessite de la méthode et créer une nouvelle instance de la classe de fournisseur vous-même. Référence: http://book.cakephp.org/3.0/en/core-libraries/app.html#loading-vendor-files
Utilisation:
Dans cakephp3 , pour ajouter un nouveau fournisseur de la bibliothèque, vous pouvez suivre les étapes ci-dessous :
your_project/vendor/
require_once(ROOT . DS . 'vendor' . DS . "my_library_folder" . DS . "my_library_base_class.php")
cela inclut le code de la bibliothèque de fichiers dans notre code.
namespace App\Controller;
use MyLibraryBaseClass;
cette importations le code de la bibliothèque de fichiers dans notre espace de noms à utiliser.
créer un objet de la classe chargée comme
$my_obj= new MyLibraryBaseClass();
la réponse fournie par Ayman B. ne ressemble pas à faire le travail comme prévu dans la question, après je l'ai essayé moi-même , pour les raisons suivantes :
\VENDOR\PACKAGE\TEST.CLASS.PHP et à l'intérieur de la test.class.php il n'y a pas une définition de classe qui doit être appelé ou importés dans votre script avec un espace de noms défini de mot-clé dans le début de ce script comme suit : espace de noms
ensuite, le code ci-dessus ne fonctionnera pas
Pour corriger la réponse que vous avez à faire certains plusieurs étapes, comme suit :
1 - Définir dans bootstrap.php un nouveau cakephp constante de la sorte :
define('VENDOR',RACINE . DS . 'vendeur' .DS); en tant que VENDEUR constante est retiré dans cakephp 3.x vous pouvez définir vous-même
2 - par la suite , vous devez spécifier le nom du fournisseur , le nom du package et le nom de la classe dans un fournisseur constante comme :
define('_',; et alors vous pouvez faire $facebookApi = new \\();
c'est pour vous comme prévu dans la question
Si vous avez des questions, essayer de revenir à moi , je vais vous montrer un exemple d'utilisation décrites ici ...
J'ai aussi eu le même problème avec CakePHP 3.0.
Faire l'installation comme indiqué à l'aide de Compositeur.
Alors Vous avez de bien charger le plugin dans votre contrôleur avec le
use
déclaration. Comme ceci:utilisation Ghunti\HighchartsPHP\Highchart;
Qui permettra de résoudre le problème de l'utilisation du plugin.
De CakePhp 3.x, le code standard est d'utiliser require_once sans les parenthèses"()".
require_once(RACINE."Dossier".DIRECTORY_SEPARATOR.'requiredfile.ph');
devient
require_once RACINE."Dossier".DIRECTORY_SEPARATOR.'requiredfile.ph';
https://book.cakephp.org/3.0/en/contributing/cakephp-coding-conventions.html
Espère que ça aide quelqu'un dans l'avenir.