Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

Avertissement de traduction

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.

Introduction

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.

Exemple

<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>

Installation

  1. Tout d'abord, installez le package PHP en exécutant la commande composer suivante :
    composer require defectivecode/link-sharer
  2. C'est tout ! Notre package s'installera automatiquement en utilisant la découverte de package de Laravel.

Services

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 ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ 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 ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media Une URL d'image à afficher sur la publication.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Un résumé de la publication.
Reddit ✔️ ✔️
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.
Twitter ✔️ ✔️ 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.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Contribuer

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é :

Lignes directrices de support

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.

Support communautaire

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.

Bogues et priorisation des fonctionnalités

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 :

1. Bogues affectant nos produits payants

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.

2. Demandes de tirage de la communauté

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.

3. Support financier

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.

Contributions de la communauté

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.

Licence - Licence MIT

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.

Link Sharer - Defective Code