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 im Projekt und fügen Sie die übersetzte Datei zu docs/{ISO 639-1 Code}.md hinzu.

# Einführung

Dieses Paket vereinfacht den Prozess, Share-Links zu Ihrer Laravel-Anwendung hinzuzufügen. Zögern Sie nicht, eine Pull-Anfrage zu öffnen, wenn Sie feststellen, dass uns ein Dienst fehlt!

Ein Share-Link ist eine URL, die eine Social-Media-Basis-URL mit Abfrageparametern kombiniert, um Inhalte von Ihrer Website oder App zu teilen. Parameter beinhalten normalerweise die Inhalts-URL und eine voreingestellte Nachricht. Diese Links, wie in den Beispielen gezeigt, ermöglichen es Benutzern, Beiträge einfach auf Plattformen wie Twitter, Facebook und Telegram zu teilen. Verwenden Sie dieses Open-Source-Paket, um schnell Share-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 Gefühl des Share-Buttons 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 war's! Unser Paket wird automatisch mit der Paketentdeckung von Laravel installiert.

Dienstleistungen

Dienstanbieter aktualisieren gelegentlich ihre Freigabelinks ohne vorherige Ankündigung. Wir bemühen uns, mit diesen Änderungen auf dem Laufenden zu bleiben. Sollten Sie jedoch auf einen nicht funktionierenden Dienst stoßen, öffnen Sie bitte ein Issue oder reichen Sie einen Pull-Request ein. Für das Hinzufügen eines neuen Dienstes, beachten Sie bitte den Abschnitt Beitragen unten.

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

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

Beitrag

Das Hinzufügen eines Dienstes ist relativ einfach. Beginnen Sie damit, eine neue Dienstklasse im Ordner src/Services zu erstellen. Benennen Sie die Klasse nach dem Dienst, den Sie hinzufügen. Das System registriert den Dienst automatisch über die Fabrik, sodass keine manuelle Registrierung erforderlich ist.

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 obligatorisch 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 baseUrl-Eigenschaft gibt die primäre URL des Dienstes an. Diese URL ist grundlegend bei der Generierung des Freigabelinks, an den Abfrageparameter angehängt werden. Am Beispiel von Gmail ist die Basis-URL https://mail.google.com/mail/u/0.

$baseParameterMapping

Dieses Paket identifiziert zwei primäre Attribute: text und url, da sie bei den meisten Dienstanbietern weit verbreitet sind. Definieren Sie diese Attribute nur, wenn der betreffende Dienst eine andere Namenskonvention verwendet. Zum Beispiel verwendet Gmail body anstelle von text, was diese explizite Zuordnung erforderlich macht. Bei der Verwendung von Gmail wird jedes an die Blade-Komponente übergebene text-Attribut in den body-Abfrageparameter im Freigabelink umgewandelt.

$additionalParameters

Einige Dienste akzeptieren spezifischere Abfrageparameter. Am Beispiel von Gmail unterstützt es bcc, cc, su und to. Definieren Sie diese im Array additionalParameters. Wenn Benutzer diese Attribute in die Blade-Komponente einfügen, werden sie dem Freigabelink hinzugefügt. Stellen Sie sicher, dass diese Parameter auch in der Tabelle der unterstützten Dienste aufgeführt sind, zusammen mit kurzen Beschreibungen.

$defaultParameters

Bestimmte Dienste erfordern spezifische Abfrageparameter, damit der Freigabelink funktioniert. Zum Beispiel erfordert Gmail die Einbeziehung von view=cm. Solche obligatorischen Attribute werden im Array defaultParameters deklariert. Sie werden immer dem Freigabelink hinzugefügt und können nicht weggelassen werden.

prepareAttributes()

Um die Attribute vor der Generierung eines Freigabelinks zu manipulieren, fügen Sie Ihrer Dienstklasse eine prepareAttributes-Methode hinzu. Diese Methode wird aktiviert, bevor die Attribute an die generateLink-Methode übergeben werden, und ermöglicht benutzerdefinierte Attributänderungen. Unten ist eine Demonstration mit dem AppendsLinks-Trait.

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

Attribute, die in den Dienst übergeben werden, sind über das Array $attributes zugänglich. Im dargestellten Beispiel:

Unterstützungsrichtlinien

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

Community-getriebene Unterstützung

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

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 der folgenden Reihenfolge:

1. Fehler, die unsere kostenpflichtigen Produkte betreffen

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

2. Community-Pull-Requests

Wenn Sie einen Fehler identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull-Request ein. Nach den Problemen, die unsere Produkte betreffen, geben wir diesen Community-getriebenen Korrekturen die nächsthöhere Priorität. Nach der Ü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 deren Lösung finanziell 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 Finanzierungsbetrag.

Community-Beiträge

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

Um es noch einmal zu wiederholen: DefectiveCode wird Fehler basierend darauf priorisieren, wie sie unsere kostenpflichtigen Produkte betreffen, Community-Pull-Requests und die erhaltene finanzielle Unterstützung für Probleme.

Lizenz - MIT-Lizenz

Copyright © Defective Code, LLC. Alle Rechte vorbehalten

Hiermit wird unentgeltlich jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, in der Software uneingeschränkt zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, Kopie, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies zu erlauben, vorbehaltlich der folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Erlaubnishinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER IMPLIZIERT, EINSCHLIESSLICH ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNGEN VERANTWORTLICH, OB IN EINEM VERTRAG, EINER UNERLAUBTEN HANDLUNG ODER ANDERWEITIG, DIE AUS, AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN IN DER SOFTWARE ENTSTEHEN.

Link Sharer - Defective Code