2017-10-20 11 views
4

J'essaie de comprendre comment démarrer avec ce paquet correctement. Je l'ai installé via Composer, et peut le faire fonctionner en utilisant certaines des instructions du readme, mais à ce stade j'ai passer les variables de configuration à chaque fois comme ceci:Calcinai xero-php passer config fois

$config = ['oauth' => [ 
      'consumer_key'  => 'MYCONSUMERKEY', 
      'consumer_secret' => 'MYSECRETKEY', 
      'rsa_private_key' => 'file:///pathtokey', 
      'rsa_public_key' => 'file:///pathtopubkey' 
      ]; 

$xero = new \XeroPHP\Application\PrivateApplication($config); 

Cela semble voler face à tout ce que j'ai fait avec Laravel avant. Tous les paquets que j'ai utilisés dans le passé sont livrés avec des fichiers de configuration à configurer et une façade, donc je ne sais pas comment progresser ici pour configurer la configuration une seule fois puis charger ce paquet comme et où j'en ai besoin avec la configuration stockée . Je voudrais apprendre quoi faire dans ce genre de cas.

+0

Vous pouvez utiliser [Service Container] (https://laravel.com/docs/5.5/container) avec vos fichiers de configuration personnalisés [Accès aux valeurs de configuration] (https://laravel.com/docs/5.5/configuration# access-configuration-values) – ljubadr

+0

@ SeánMcCabe Y a-t-il quelque chose qui manque à ma réponse pour qu'elle soit acceptée? – Leith

+0

Non, pensé que je l'avais fait, excuses :) –

Répondre

3

Ceci est la différence entre une bibliothèque PHP générale et un wrapper spécifique à Laravel. Une bibliothèque PHP générale comme XeroPHP ne sait pas (ou ne se soucie pas) du framework PHP que vous utilisez - ses seules dépendances requises sont une version particulière de PHP et quelques extensions PHP. Ce que vous demandez est un "paquet" Laravel, et le Laravel documentation on packages est assez bon si vous voulez obtenir une longueur d'avance à l'écriture de votre propre.

Vous pouvez choisir d'écrire votre propre wrapper localement dans votre projet ou créer votre propre package qui entoure XeroPHP. Vous pouvez ensuite publier ce package sur Packalyst et Packagist pour le rendre disponible à la communauté Laravel dans son ensemble.

Dans ce cas, vous avez de la chance et vous n'avez pas besoin de - Amo Chohan has done it for you! Vous avez juste besoin d'exiger le paquet Laravel au lieu de XeroPHP directement.

Comme une barre latérale, je peux vous voir aussi asked the author de la bibliothèque à ce sujet - généralement une bonne idée d'être aussi précis que possible en termes de cadre que vous demandez si vous voulez de l'aide directement du paquet. Vous pouvez également envoyer un ping à d'autres auteurs (respectueusement!) Sur github qui contribuent régulièrement à beaucoup de plugins Laravel si vous voulez plus d'aide.

+1

xerolaravel devrait faire l'affaire s'il utilise 'xero-php^1.6' (selon le fichier composer.json mis à jour) – x3ns

+0

@Leith J'ai essayé d'utiliser celui-ci, et c'est exactement ce que je veux, mais le problème étant, en utilisant la façade je ne peux pas trouver comment faire une marque, c'est-à-dire faire Contact, plutôt qu'un simple loadByGUID. Il a un exemple d'utilisation du CIO, et encore une fois, il ne peut pas fonctionner non plus. –

+0

@ SeánMcCabe est un problème légèrement différent - l'encapsuleur vous permet de configurer une fois la configuration et d'utiliser un fournisseur de façade/service (l'OP). Le repo readme.md a un très bon exemple sur la création d'un contact, il est juste au milieu de la création d'une facture - si vous supprimez toutes les autres choses liées à la facture (mais gardez le conteneur IoC) qui devrait fonctionner? je garde tout pour '$ xero' et' $ contact' dans l'exemple, abandonne le reste. – Leith