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

Übersetzungswarnung

Dieses Dokument wurde automatisch übersetzt. Wenn es Übersetzungsfehler gibt, öffnen Sie bitte einen Pull Request auf dem Projekt und fügen Sie die übersetzte Datei zu docs/{ISO 639-1 Code}.md hinzu.

Einführung

Dieses Paket vereinfacht den Prozess des Hinzufügens von Freigabe-Links zu Ihrer Laravel-Anwendung. Fühlen Sie sich frei, einen Pull-Request zu öffnen, wenn Sie feststellen, dass uns ein Dienst fehlt!

Ein Freigabe-Link ist eine URL, die eine Basis-URL für soziale Medien mit Abfrageparametern kombiniert, um Inhalte von Ihrer Website oder App zu teilen. Die Parameter umfassen normalerweise die Inhalts-URL und eine voreingestellte Nachricht. Diese Links, wie in den Beispielen gezeigt, ermöglichen es Benutzern, Beiträge auf Plattformen wie Twitter, Facebook und Telegramm einfach zu teilen. Verwenden Sie dieses Open-Source-Paket, um schnell Freigabe-Links über das Blade-Komponentensystem von Laravel zu erstellen.

Beispiel

<x-link-sharer service="twitter" text="Teile mich!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4">
<!-- Ihr HTML-Code hier, um das Aussehen und Verhalten der Freigabe-Schaltfläche zu steuern -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klick mich!</span>
</x-link-sharer>

Installation

  1. Installieren Sie zuerst das PHP-Paket, indem Sie den folgenden Composer-Befehl ausführen:
    composer require defectivecode/link-sharer
  2. Das ist alles! Unser Paket wird automatisch mit der Laravel-Paketentdeckung installiert.

Dienste

Dienstleister aktualisieren gelegentlich ihre Share-Links ohne vorherige Ankündigung. Wir bemühen uns, mit diesen Änderungen auf dem neuesten Stand zu bleiben. Wenn Sie jedoch auf einen nicht funktionierenden Dienst stoßen, öffnen Sie bitte ein Problem oder senden Sie einen Pull-Request. Um einen neuen Dienst hinzuzufügen, beachten Sie den Abschnitt Beitragen unten.

Einige Dienste bieten zusätzliche Parameter, die an die Komponente übergeben werden können. Diese sind in der folgenden Tabelle dokumentiert.

Dienst Text unterstützt URL unterstützt Hinweise
Blogger ✔️ ✔️ t Der Text des Blog-Beitrags.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Eine Beschreibung, die dem Beitrag hinzugefügt werden soll.
Douban ✔️ ✔️ comment Ein Kommentar, der dem Beitrag hinzugefügt werden soll.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Ein Zitat, das dem Beitrag hinzugefügt werden soll.
Gmail ✔️ ✔️ bcc Eine kommagetrennte Liste von E-Mail-Adressen für BCC.
cc Eine kommagetrennte Liste von E-Mail-Adressen für CC.
su Der Betreff der E-Mail.
to Eine kommagetrennte Liste von E-Mail-Adressen zum Senden.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Eine Beschreibung des Beitrags.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media Eine Bild-URL, die im Beitrag angezeigt werden soll.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Eine Zusammenfassung des Beitrags.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description Eine Beschreibung des Beitrags.
srcUrl Die ursprüngliche URL des Beitrags.
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id Die ID der Person, an die der Beitrag gesendet werden soll.
Tumblr ✔️ ✔️ caption Eine Bildunterschrift, die dem Beitrag hinzugefügt werden soll.
tags Eine kommagetrennte Liste von Tags, die dem Beitrag zugewiesen werden sollen.
Twitter ✔️ ✔️ hastags Eine kommagetrennte Liste von Hashtags, die dem Tweet zugewiesen werden sollen.
via Der Twitterer, dem Anerkennung gebührt.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Eine Beschreibung des Beitrags.
image Eine Bild-URL, die im Beitrag angezeigt werden soll.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Mitwirken

Das Hinzufügen eines Dienstes ist relativ einfach. Erstellen Sie zunächst eine neue Serviceklasse im Ordner src/Services. Benennen Sie die Klasse nach dem Dienst, den Sie hinzufügen möchten. Der Dienst wird automatisch über die Factory registriert, daher ist keine manuelle Registrierung erforderlich.

Der unten bereitgestellte Gmail-Dienst dient als gutes Beispiel.

<?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',
];
}

Bitte beachten Sie, dass nur die baseUrl Pflicht ist. Die baseParameterMapping, additionalParameters und defaultParameters sind optional, können jedoch die Funktionalität verbessern.

$baseUrl

Die URL eines Dienstes muss nicht mit HTTPS beginnen. Zum Beispiel verwendet Viber viber://forward.

Die Eigenschaft baseUrl gibt die primäre URL des Dienstes an. Diese URL bildet die Grundlage für die Generierung des Freigabelinks, zu dem Abfrageparameter hinzugefügt werden. Als Beispiel verwendet Gmail die Basis-URL https://mail.google.com/mail/u/0.

$baseParameterMapping

Dieses Paket erkennt zwei Hauptattribute: text und url, da sie bei den meisten Dienstanbietern weit verbreitet sind. Definieren Sie diese Attribute nur, wenn der betreffende Dienst eine andere Benennungskonvention verwendet. Gmail verwendet beispielsweise body anstelle von text, was diese explizite Zuordnung erforderlich macht. Wenn Sie Gmail verwenden, wird jedes text-Attribut, das an das Blade-Komponente übergeben wird, in den Abfrageparameter body im Freigabelink umgewandelt.

$additionalParameters

Einige Dienste akzeptieren spezifischere Abfrageparameter. Nehmen wir Gmail als Referenz, es unterstützt bcc, cc, su und to. Definieren Sie diese in einem Array additionalParameters. Wenn Benutzer diese Attribute in der Blade-Komponente angeben, werden sie dem Freigabelink hinzugefügt. Stellen Sie sicher, dass diese Parameter auch in der Tabelle der unterstützten Dienste aufgeführt sind und mit prägnanten Beschreibungen versehen sind.

$defaultParameters

Bestimmte Dienste erfordern bestimmte Abfrageparameter, damit der Freigabelink funktioniert. Zum Beispiel erfordert Gmail die Angabe von view=cm. Solche obligatorischen Attribute werden im Array defaultParameters deklariert. Sie werden immer dem Freigabelink angehängt und können nicht weggelassen werden.

prepareAttributes()

Um die Attribute vor der Generierung eines Freigabelinks zu manipulieren, fügen Sie Ihrer Serviceklasse eine Methode prepareAttributes hinzu. Diese Methode wird aktiviert, bevor die Attribute an die Methode generateLink übergeben werden, und ermöglicht benutzerdefinierte Attributmodifikationen. Im Folgenden finden Sie eine Demonstration unter Verwendung des Traits 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'];
}
}
}

Die in den Dienst übergebenen Attribute sind über das Array $attributes zugänglich. Im dargestellten Beispiel:

Support-Richtlinien

Vielen Dank, dass Sie sich für unser Open-Source-Paket entschieden haben! Bitte nehmen Sie sich einen Moment Zeit, um diese Support-Richtlinien zu lesen. Sie helfen Ihnen, das Beste aus unserem Projekt herauszuholen.

Unterstützung durch die Community

Unser Open-Source-Projekt wird von unserer großartigen Community angetrieben. Wenn Sie Fragen haben oder Unterstützung benötigen, sind StackOverflow und andere Online-Ressourcen Ihre besten Anlaufstellen.

Fehler und Priorisierung von Funktionen

Die Realität der Verwaltung eines Open-Source-Projekts bedeutet, dass wir nicht jeden gemeldeten Fehler oder Feature-Anfrage sofort bearbeiten können. Wir priorisieren Probleme in folgender Reihenfolge:

1. Fehler, die unsere kostenpflichtigen Produkte betreffen

Fehler, die sich auf unsere kostenpflichtigen Produkte auswirken, haben immer oberste Priorität. In einigen Fällen werden wir möglicherweise nur Fehler beheben, die uns direkt betreffen.

2. Community-Pull-Anfragen

Wenn Sie einen Fehler identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull-Antrag ein. Nach Problemen, die unsere Produkte betreffen, geben wir den nächsten höchsten Stellenwert für diese von der Community getriebenen Fixes. Nach Überprüfung und Genehmigung werden wir Ihre Lösung zusammenführen und Ihren Beitrag anerkennen.

3. Finanzielle Unterstützung

Für Probleme außerhalb der genannten Kategorien können Sie sich dafür entscheiden, ihre Lösung finanziell zu unterstützen. Jedes offene Problem ist mit einem Bestellformular verknüpft, über das Sie finanziell beitragen können. Wir priorisieren diese Probleme basierend auf dem bereitgestellten Betrag.

Community-Beiträge

Open Source gedeiht, wenn seine Community aktiv ist. Auch wenn Sie keine Fehler beheben, sollten Sie in Betracht ziehen, durch Code-Verbesserungen, Aktualisierungen der Dokumentation, Tutorials oder durch Unterstützung anderer in Community-Kanälen beizutragen. Wir ermutigen alle, als Community, die Open-Source-Arbeit zu unterstützen.

Zur Klarstellung: DefectiveCode priorisiert Fehler basierend darauf, wie sie sich auf unsere kostenpflichtigen Produkte auswirken, Community-Pull-Anfragen und die finanzielle Unterstützung, die für Probleme erhalten wird.

Lizenz - MIT Lizenz

Urheberrecht © Defective Code, LLC. Alle Rechte vorbehalten

Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, die Software uneingeschränkt zu nutzen, einschließlich und ohne Einschränkung der Rechte zur Verwendung, zum Kopieren, zur Änderung, zum Zusammenführen, zur Veröffentlichung, zur Verteilung, zur Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software bereitgestellt wird, dies unter den folgenden Bedingungen zu gestatten:

Der obige Urheberrechtsvermerk und dieser Genehmigungsvermerk sind in allen Kopien oder wesentlichen Teilen der Software enthalten.

DIE SOFTWARE WIRD "WIE SIE IST" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG. IN KEINEM FALL HAFTEN DIE AUTOREN ODER COPYRIGHT-INHABER FÜR ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, OB IN EINER VERTRAGS- ODER HAFTUNGSAKTION, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHT.

Link Sharer - Defective Code