English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Ce document a été traduit automatiquement. S'il y a des erreurs de traduction, veuillez ouvrir une pull request sur le projet et ajouter le fichier traduit à docs/{Code ISO 639-1}.md
.
Ce package simplifie le processus d'ajout de liens de partage à votre application Laravel. N'hésitez pas à ouvrir une demande de tirage si vous remarquez qu'il nous manque un service !
Un lien de partage est une URL combinant une URL de base des médias sociaux avec des paramètres de requête pour partager du contenu depuis votre site web ou votre application. Les paramètres incluent généralement l'URL du contenu et un message prédéfini. Ces liens, comme le montrent les exemples, permettent aux utilisateurs de partager facilement des publications sur des plateformes telles que Twitter, Facebook et Telegram. Utilisez ce package open-source pour créer rapidement des liens de partage via le système de composants blade de Laravel.
<x-link-sharer service="twitter" text="Partagez-moi !" url="https://www.defectivecode.com" hashtags="génial,liens" class="p-4"> <!-- Votre code HTML ici pour contrôler l'apparence du bouton de partage --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Cliquez ici !</span></x-link-sharer>
composer require defectivecode/link-sharer
Les fournisseurs de services mettent parfois à jour leurs liens de partage sans préavis. Nous faisons tout notre possible pour rester à jour avec ces changements. Cependant, si vous rencontrez un service non fonctionnel, veuillez ouvrir un problème ou soumettre une demande de tirage. Pour ajouter un nouveau service, consultez la section contribuer ci-dessous.
Certains services fournissent des paramètres supplémentaires qui peuvent être transmis au composant. Ceux-ci sont documentés dans le tableau ci-dessous.
Service | Texte pris en charge | URL pris en charge | Notes |
---|---|---|---|
Blogger | ✔️ | ✔️ | t Le texte de l'article de blog. |
Diaspora | ✔️ | ✔️ | |
Diigo | ✔️ | ✔️ | description Une description à ajouter à la publication. |
Douban | ✔️ | ✔️ | comment Un commentaire à ajouter à la publication. |
Evernote | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | quote Une citation à ajouter à la publication. |
|
Gmail | ✔️ | ✔️ | bcc Une liste d'adresses e-mail séparées par des virgules pour BCC. cc Une liste d'adresses e-mail séparées par des virgules pour CC. su Le sujet de l'e-mail. to Une liste d'adresses e-mail séparées par des virgules pour envoyer à. |
HackNews | ✔️ | ✔️ | |
Instapaper | ✔️ | ✔️ | description Une description de la publication. |
LineMe | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media Une URL d'image à afficher sur la publication. |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary Un résumé de la publication. |
✔️ | ✔️ | ||
Renren | ✔️ | ✔️ | description Une description de la publication. srcUrl L'URL d'origine de la publication. |
Skype | ✔️ | ✔️ | |
Telegram | ✔️ | ✔️ | |
Threema | ❌ | ✔️ | id L'identifiant de la personne à qui envoyer la publication. |
Tumblr | ✔️ | ✔️ | caption Une légende à ajouter à la publication. tags Une liste de tags séparés par des virgules à appliquer à la publication. |
✔️ | ✔️ | hastags Une liste de hashtags séparés par des virgules à appliquer au tweet. via Le tweeter à créditer. |
|
Viber | ✔️ | ✔️ | |
VKontakte | ✔️ | ✔️ | description Une description de la publication. image Une URL d'image à afficher sur la publication. |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
Ajouter un service est relativement simple. Commencez par créer une nouvelle classe de service dans le dossier src/Services
. Nommez la classe d'après le service que vous ajoutez. Le système enregistre automatiquement le service via la fabrique, il n'est donc pas nécessaire de l'enregistrer manuellement.
Le service Gmail fourni ci-dessous sert d'exemple.
<?php namespace DefectiveCode\LinkSharer\Services; use DefectiveCode\LinkSharer\Traits\AppendsLinks; class Gmail extends Service{ use AppendsLinks; protected string $baseUrl = 'https://mail.google.com/mail/u/0'; protected array $baseParameterMapping = [ 'text' => 'body', ]; protected array $additionalParameters = [ 'bcc', 'cc', 'su', 'to', ]; protected array $defaultParameters = [ 'view' => 'cm', ];}
Veuillez noter que seule la propriété baseUrl
est obligatoire. Les propriétés baseParameterMapping
, additionalParameters
et defaultParameters
sont facultatives mais peuvent améliorer la fonctionnalité.
$baseUrl
L'URL d'un service n'a pas besoin de commencer par HTTPS. Par exemple, Viber utilise
viber://forward
.
La propriété baseUrl
spécifie l'URL principale du service. Cette URL est fondamentale lors de la génération du lien de partage, auquel des paramètres de requête sont ajoutés. En utilisant Gmail comme exemple, son URL de base est https://mail.google.com/mail/u/0
.
$baseParameterMapping
Ce package identifie deux attributs principaux : text
et url
, étant donné leur ubiquité chez la plupart des fournisseurs de services. Définissez uniquement ces attributs si le service en question utilise une convention de dénomination différente. Par exemple, Gmail utilise body
à la place de text
, ce qui nécessite cette correspondance explicite. Lors de l'utilisation de Gmail, tout attribut text
passé au composant blade est transformé en paramètre de requête body
dans le lien de partage.
$additionalParameters
Certains services acceptent des paramètres de requête plus spécifiques. En prenant Gmail comme référence, il prend en charge bcc
, cc
, su
et to
. Définissez-les dans le tableau additionalParameters
. Lorsque les utilisateurs incluent ces attributs dans le composant blade, ils sont ajoutés au lien de partage. Assurez-vous que ces paramètres sont également répertoriés dans le tableau des services pris en charge, avec des descriptions concises.
$defaultParameters
Certains services exigent des paramètres de requête spécifiques pour que le lien de partage fonctionne. Par exemple, Gmail exige l'inclusion de view=cm
. Ces attributs obligatoires sont déclarés dans le tableau defaultParameters
. Ils sont toujours ajoutés au lien de partage et ne peuvent pas être omis.
prepareAttributes()
Pour manipuler les attributs avant de générer un lien de partage, introduisez une méthode prepareAttributes
dans votre service. Cette méthode s'active avant de passer les attributs à la méthode generateLink
, ce qui permet des modifications personnalisées des attributs. Voici une démonstration en utilisant le trait AppendsLinks
.
<?php namespace DefectiveCode\LinkSharer\Traits; trait AppendsLinks{ protected function prepareAttributes(): void { if (isset($this->attributes['text']) && isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url']; return; } if (isset($this->attributes['url'])) { $this->attributes['text'] = $this->attributes['url']; } }}
Les attributs passés au service sont accessibles via le tableau $attributes
. Dans l'exemple illustré :
text
et url
sont tous deux présents, l'url
est ajoutée à l'attribut text
.url
est disponible, l'attribut text
prend la valeur de l'url
.Merci d'avoir choisi notre package open source ! Veuillez prendre un moment pour consulter ces lignes directrices de support. Elles vous aideront à tirer le meilleur parti de notre projet.
Notre projet open source est alimenté par notre communauté géniale. Si vous avez des questions ou besoin d'aide, StackOverflow et d'autres ressources en ligne sont vos meilleurs atouts.
La réalité de la gestion d'un projet open source signifie que nous ne pouvons pas traiter immédiatement chaque bogue signalé ou demande de fonctionnalité. Nous donnons la priorité aux problèmes dans l'ordre suivant :
Les bogues qui impactent nos produits payants seront toujours notre priorité absolue. Dans certains cas, nous ne traiterons que les bogues qui nous affectent directement.
Si vous avez identifié un bogue et avez une solution, veuillez soumettre une demande de tirage. Après les problèmes affectant nos produits, nous accordons la priorité suivante à ces corrections proposées par la communauté. Une fois examinée et approuvée, nous fusionnerons votre solution et créditerons votre contribution.
Pour les problèmes en dehors des catégories mentionnées, vous pouvez choisir de financer leur résolution. Chaque problème ouvert est lié à un formulaire de commande où vous pouvez contribuer financièrement. Nous donnons la priorité à ces problèmes en fonction du montant de financement fourni.
L'open source prospère lorsque sa communauté est active. Même si vous ne corrigez pas de bogues, envisagez de contribuer par des améliorations de code, des mises à jour de documentation, des tutoriels ou en aidant les autres dans les canaux communautaires. Nous encourageons vivement tout le monde, en tant que communauté, à soutenir le travail open source.
Pour réitérer, DefectiveCode donnera la priorité aux bogues en fonction de leur impact sur nos produits payants, des demandes de tirage de la communauté et du soutien financier reçu pour les problèmes.
Droit d'auteur © Defective Code, LLC. Tous droits réservés
La permission est accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter le Logiciel sans restriction, y compris, sans limitation, les droits d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de concéder sous licence et/ou de vendre des copies du Logiciel, et de permettre aux personnes auxquelles le Logiciel est fourni de le faire, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du Logiciel.
LE LOGICIEL EST FOURNI "TEL QUEL", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS OU LES TITULAIRES DE DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UN CONTRAT, D'UN DÉLIT OU AUTRE, EN LIEN AVEC LE LOGICIEL OU SON UTILISATION OU AUTREMENT.