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

# Upozorenje o Prevodu

Ovaj dokument je automatski preveden. Ako postoje greške u prevodu, molimo vas da otvorite pull request na projektu i dodate prevedeni fajl u docs/{ISO 639-1 Code}.md.

# Uvod

Ovaj paket pojednostavljuje proces dodavanja linkova za dijeljenje u vašu Laravel aplikaciju. Slobodno otvorite pull request ako primijetite da nam nedostaje neka usluga!

Link za dijeljenje je URL koji kombinuje osnovni URL društvene mreže sa query parametrima za dijeljenje sadržaja sa vaše web stranice ili aplikacije. Parametri obično uključuju URL sadržaja i unaprijed postavljenu poruku. Ovi linkovi, kao što je prikazano u primjerima, omogućavaju korisnicima da lako dijele postove na platformama kao što su Twitter, Facebook i Telegram. Koristite ovaj open-source paket za brzo kreiranje linkova za dijeljenje putem Laravelovog blade komponentnog sistema.

Primjer

<x-link-sharer service="twitter" text="Podijeli me!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4">
<!-- Vaš HTML kod ovdje za kontrolu izgleda i osjećaja dugmeta za dijeljenje -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klikni me!</span>
</x-link-sharer>
# Instalacija
  1. Prvo instalirajte PHP paket pokretanjem sljedeće composer komande:
    composer require defectivecode/link-sharer
  2. To je to! Naš paket će se automatski instalirati koristeći Laravel-ovo otkrivanje paketa.

Usluge

Pružatelji usluga povremeno ažuriraju svoje linkove za dijeljenje bez prethodne najave. Ulažemo sve napore da ostanemo ažurirani s ovim promjenama. Međutim, ako naiđete na nefunkcionalnu uslugu, ljubazno otvorite problem ili podnesite zahtjev za povlačenje. Za dodavanje nove usluge, pogledajte odjeljak doprinos ispod.

Neke usluge pružaju dodatne parametre koji se mogu proslijediti komponenti. Oni su dokumentirani u tabeli ispod.

Usluga Podržan Tekst Podržan URL Napomene
Blogger ✔️ ✔️ t Tekst blog posta.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Opis za dodavanje u post.
Douban ✔️ ✔️ comment Komentar za dodavanje u post.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Citat za dodavanje u post.
Gmail ✔️ ✔️ bcc Lista email adresa za BCC, odvojena zarezima.
cc Lista email adresa za CC, odvojena zarezima.
su Predmet emaila.
to Lista email adresa za slanje, odvojena zarezima.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Opis posta.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media URL slike za prikaz u postu.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Sažetak posta.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description Opis posta.
srcUrl Originalni URL posta.
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id ID osobe kojoj se šalje post.
Tumblr ✔️ ✔️ caption Natpis za dodavanje u post.
tags Lista tagova za primjenu na post, odvojena zarezima.
Twitter ✔️ ✔️ hastags Lista hash tagova za primjenu na tweet, odvojena zarezima.
via Twitter korisnik kojem se daje kredit.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Opis posta.
image URL slike za prikaz u postu.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Doprinos

Dodavanje usluge je relativno jednostavno. Počnite kreiranjem nove klase usluge unutar src/Services foldera. Imenujte klasu prema usluzi koju dodajete. Sistem automatski registruje uslugu putem fabrike, tako da nema potrebe za ručnom registracijom.

Gmail usluga prikazana ispod služi kao dobar primjer.

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

Napominjemo da je samo baseUrl obavezan. baseParameterMapping, additionalParameters i defaultParameters su opcionalni, ali mogu poboljšati funkcionalnost.

$baseUrl

URL usluge ne mora počinjati sa HTTPS. Na primjer, Viber koristi viber://forward.

Svojstvo baseUrl specificira primarni URL usluge. Ovaj URL je osnovni pri generisanju linka za dijeljenje, kojem se dodaju upitni parametri. Koristeći Gmail kao primjer, njegov osnovni URL je https://mail.google.com/mail/u/0.

$baseParameterMapping

Ovaj paket prepoznaje dva primarna atributa: text i url, s obzirom na njihovu rasprostranjenost kod većine pružatelja usluga. Definišite ove atribute samo ako usluga koristi drugačiju konvenciju imenovanja. Na primjer, Gmail koristi body umjesto text, što zahtijeva eksplicitno mapiranje. Kada koristite Gmail, svaki text atribut proslijeđen blade komponenti se transformiše u body upitni parametar u linku za dijeljenje.

$additionalParameters

Neke usluge prihvataju specifičnije upitne parametre. Uzimajući Gmail kao referencu, on podržava bcc, cc, su i to. Definišite ih u additionalParameters nizu. Kada korisnici uključe ove atribute u blade komponenti, oni se dodaju u link za dijeljenje. Osigurajte da su ovi parametri također navedeni u tabeli podržanih usluga, zajedno sa kratkim opisima.

$defaultParameters

Određene usluge zahtijevaju specifične upitne parametre da bi link za dijeljenje funkcionisao. Na primjer, Gmail zahtijeva uključivanje view=cm. Takvi obavezni atributi se deklariraju u defaultParameters nizu. Oni se uvijek dodaju u link za dijeljenje i ne mogu se izostaviti.

prepareAttributes()

Da biste manipulisali atributima prije generisanja linka za dijeljenje, uvedite metodu prepareAttributes u svoju uslugu. Ova metoda se aktivira prije prosljeđivanja atributa metodi generateLink, omogućavajući prilagođene modifikacije atributa. Ispod je demonstracija koristeći 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'];
}
}
}

Atributi proslijeđeni u uslugu su dostupni putem $attributes niza. U prikazanom primjeru:

Hvala što ste odabrali naš open source paket! Molimo vas da odvojite trenutak da pregledate ove smjernice za podršku. One će vam pomoći da maksimalno iskoristite naš projekt.

Podrška Vođena Zajednicom

Naš open-source projekt pokreće naša sjajna zajednica. Ako imate pitanja ili trebate pomoć, StackOverflow i drugi online resursi su vaša najbolja opcija.

Greške i Prioritizacija Funkcija

Realnost upravljanja open-source projektom znači da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcijom. Prioritiziramo probleme prema sljedećem redoslijedu:

1. Greške koje Utječu na Naše Plaćene Proizvode

Greške koje utječu na naše plaćene proizvode uvijek će biti naš glavni prioritet. U nekim slučajevima, možemo riješiti samo greške koje direktno utječu na nas.

2. Pull Zahtjevi Zajednice

Ako ste identificirali grešku i imate rješenje, molimo vas da podnesete pull zahtjev. Nakon problema koji utječu na naše proizvode, sljedeći najviši prioritet dajemo ovim rješenjima vođenim zajednicom. Nakon pregleda i odobrenja, spojit ćemo vaše rješenje i priznati vaš doprinos.

3. Financijska Podrška

Za probleme izvan navedenih kategorija, možete odabrati financiranje njihovog rješenja. Svaki otvoreni problem je povezan s narudžbenicom gdje možete financijski doprinijeti. Prioritiziramo ove probleme na osnovu iznosa financiranja.

Doprinosi Zajednice

Open source napreduje kada je njegova zajednica aktivna. Čak i ako ne popravljate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomažući drugima u kanalima zajednice. Toplo ohrabrujemo sve, kao zajednicu, da pomognu podržati open-source rad.

Da ponovimo, DefectiveCode će prioritizirati greške na osnovu toga kako utječu na naše plaćene proizvode, pull zahtjeve zajednice i financijsku podršku primljenu za probleme.

Licenca - MIT Licenca

Autorska prava © Defective Code, LLC. Sva prava zadržana

Dozvola se ovim putem daje, besplatno, bilo kojoj osobi koja dobije kopiju ovog softvera i pridruženih dokumentacijskih datoteka (u daljem tekstu "Softver"), da koristi Softver bez ograničenja, uključujući bez ograničenja prava na korištenje, kopiranje, modifikaciju, spajanje, objavljivanje, distribuciju, podlicenciranje i/ili prodaju kopija Softvera, i da dozvoli osobama kojima je Softver dostavljen da to učine, pod sljedećim uvjetima:

Gore navedena obavijest o autorskim pravima i ova dozvola moraju biti uključeni u sve kopije ili značajne dijelove Softvera.

SOFTVER SE PRUŽA "KAKAV JEST", BEZ IKAKVIH JAMSTAVA, IZRIČITIH ILI IMPLICIRANIH, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA JAMSTVA PRODAJNOSTI, PODOBNOSTI ZA ODREĐENU SVRHU I NEKRŠENJA PRAVA. NI U KOJEM SLUČAJU AUTORI ILI VLASNICI AUTORSKIH PRAVA NEĆE BITI ODGOVORNI ZA BILO KOJI ZAHTJEV, ŠTETU ILI DRUGU ODGOVORNOST, BILO U UGOVORU, DELIKTU ILI DRUGAČIJE, KOJA PROIZLAZI IZ, IZVAN ILI U VEZI SA SOFTVEROM ILI KORIŠTENJEM ILI DRUGIM POSTUPCIMA U SOFTVERU.

Link Sharer - Defective Code