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 otvorite pull zahtjev na projektu i dodajte prevedeni fajl u docs/{ISO 639-1 Kod}.md.

Uvod

Ovaj paket pojednostavljuje proces dodavanja linkova za dijeljenje na vašu Laravel aplikaciju. Slobodno otvorite zahtjev za povlačenje ako primijetite da nam nedostaje neka usluga!

Link za dijeljenje je URL koji kombinuje osnovni URL društvenih medija sa upitnim 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 jednostavno dijeljenje objava na platformama poput Twittera, Facebooka i Telegrama. Koristite ovaj open-source paket da biste brzo kreirali linkove za dijeljenje putem Laravel-ovog sistema komponenti blade.

Primjer

<x-link-sharer service="twitter" text="Podijeli me!" url="https://www.defectivecode.com" hashtags="sjajno,linkovi" 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 sve! Naš paket će se automatski instalirati koristeći Laravel-ovo otkrivanje paketa.

Usluge

Provajderi usluga povremeno ažuriraju svoje linkove za deljenje bez prethodne najave. Mi se trudimo da ostanemo ažurirani sa ovim promenama. Međutim, ako naiđete na nefunkcionalnu uslugu, ljubazno otvorite problem ili pošaljite zahtev za povlačenje. Za dodavanje nove usluge, pogledajte odeljak doprinos u nastavku.

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

Usluga Podrška za tekst Podrška za URL Napomene
Blogger ✔️ ✔️ t Tekst blog posta.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Opis koji se dodaje postu.
Douban ✔️ ✔️ comment Komentar koji se dodaje postu.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Citat koji se dodaje postu.
Gmail ✔️ ✔️ bcc Lista adresa e-pošte odvojenih zarezom za BCC.
cc Lista adresa e-pošte odvojenih zarezom za CC.
su Predmet e-pošte.
to Lista adresa e-pošte odvojenih zarezom za slanje.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Opis posta.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media URL slike koja se prikazuje na 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 Naslov koji se dodaje postu.
tags Lista oznaka odvojenih zarezom koja se primenjuje na post.
Twitter ✔️ ✔️ hastags Lista heš oznaka odvojenih zarezom koja se primenjuje na tvit.
via Tviteraš kojem se daje zasluga.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Opis posta.
image URL slike koja se prikazuje na postu.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Doprinose

Dodavanje servisa je relativno jednostavno. Počnite tako što ćete kreirati novu klasu servisa unutar foldera src/Services. Imenujte klasu prema servisu koji dodajete. Sistem automatski registruje servis putem fabrike, tako da nema potrebe za ručnom registracijom.

Gmail servis koji je prikazan 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',
];
}

Molimo vas da imate na umu da je samo baseUrl obavezan. baseParameterMapping, additionalParameters i defaultParameters su opcionalni, ali mogu poboljšati funkcionalnost.

$baseUrl

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

Svojstvo baseUrl određuje primarni URL servisa. Ovaj URL je osnova prilikom generisanja linka za dijeljenje, na koji se dodaju upitni parametri. Koristeći Gmail kao primjer, njegov bazni URL je https://mail.google.com/mail/u/0.

$baseParameterMapping

Ovaj paket identifikuje dvije osnovne atribute: text i url, s obzirom na njihovu učestalost kod većine pružatelja usluga. Definišite samo ove atribute ako servis u pitanju koristi drugačiju konvenciju imenovanja. Na primjer, Gmail koristi body umjesto text, što zahtijeva ovu eksplicitnu mapu. Kada koristite Gmail, bilo koji atribut text koji se proslijedi komponenti blade se transformiše u upitni parametar body u linku za dijeljenje.

$additionalParameters

Neki servisi prihvataju specifičnije upitne parametre. Koristeći Gmail kao referencu, podržava bcc, cc, su i to. Definišite ih u nizu additionalParameters. Kada korisnici uključe ove atribute u komponentu blade, oni se dodaju u link za dijeljenje. Provjerite da su ovi parametri također navedeni u tabeli podržanih servisa, zajedno sa sažetim opisima.

$defaultParameters

Određeni servisi zahtijevaju određene upitne parametre da bi link za dijeljenje funkcionisao. Na primjer, Gmail zahtijeva uključivanje view=cm. Takvi obavezni atributi se deklarišu u nizu defaultParameters. Uvijek se dodaju na link za dijeljenje i ne mogu se izostaviti.

prepareAttributes()

Da biste manipulisali atributima prije generisanja linka za dijeljenje, uvedite metodu prepareAttributes u svoj servis. Ova metoda se aktivira prije proslijeđivanja atributa metodi generateLink, što omogućava prilagođene modifikacije atributa. U nastavku je prikazana demonstracija korištenja trejta 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'];
}
}
}

Atributi koji se proslijeđuju servisu dostupni su putem niza $attributes. U prikazanom primjeru:

Smjernice za podršku

Hvala što ste odabrali naš paket otvorenog koda! Molimo vas da se osvrnete na ove smjernice za podršku. Pomoći će vam da najbolje iskoristite naš projekt.

Podrška od strane zajednice

Naš projekat otvorenog koda 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 prioritetizacija funkcionalnosti

Stvarnost upravljanja projekatom otvorenog koda znači da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcionalnost. Prioritetiziramo 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ša najveća prioriteta. U nekim slučajevima, možda ćemo riješiti samo greške koje nas direktno pogađaju.

2. Pull zahtjevi zajednice

Ako ste identifikovali grešku i imate rješenje, molimo vas da pošaljete pull zahtjev. Nakon problema koji utječu na naše proizvode, dajemo sljedeći najviši prioritet ovim popravkama koje dolaze od zajednice. Nakon pregleda i odobrenja, spojit ćemo vaše rješenje i pripisati vam zasluge.

3. Finansijska podrška

Za probleme izvan navedenih kategorija, možete odlučiti da finansijski podržite njihovo rješavanje. Svaki otvoreni problem je povezan sa obrascom za naručivanje gdje možete finansijski doprinijeti. Prioritetiziramo ove probleme na osnovu iznosa finansijske podrške koja je pružena.

Doprinosi zajednice

Otvoreni kod napreduje kada je njegova zajednica aktivna. Čak i ako ne rješavate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomoć drugima u zajedničkim kanalima. Snažno ohrabrujemo sve, kao zajednicu, da pomognu podršku radu otvorenog koda.

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

Licenca - MIT Licenca

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

Ovdje se daje dozvola, besplatno, svakoj osobi koja dobije kopiju ovog softvera i pripadajućih dokumentacionih datoteka (u daljem tekstu "Softver"), da rukuje Softverom bez ograničenja, uključujući, ali ne ograničavajući se na prava da koristi, kopira, mijenja, spaja, objavljuje, distribuira, sublicencira i/ili prodaje kopije Softvera, i da dozvoli osobama kojima je Softver dostavljen da to isto čine, pod uslovima navedenim u nastavku:

Gorenavedeni autorski obavještaj i ovaj dozvolni obavještaj moraju biti uključeni u sve kopije ili značajne dijelove Softvera.

SOFTVER SE DOSTAVLJA "KAKAV JE", BEZ GARANCIJE BILO KOJE VRSTE, IZRIČITE ILI IMPLICITNE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA GARANCIJE O PRODAJNOSTI, PRIMJENJIVOSTI ZA ODREĐENU SVRHU I NEKRŠENJE AUTORSKIH PRAVA. U NIKAKVOM SLUČAJU AUTORI ILI VLAZNICI AUTORSKIH PRAVA NE MOGU BITI ODGOVORNI ZA BILO KOJE POTRAŽIVANJE, ŠTETU ILI DRUGU ODGOVORNOST, BILO DA JE U PITANJU UGOVOR, DELIKT ILI BILO KOJI DRUGI OBLIK ODGOVORNOSTI, NASTAO IZ, U VEZI SA ILI U TOKU KORIŠTENJA SOFTVERA ILI DRUGIH POSTUPAKA VEZANIH ZA SOFTVER.

Link Sharer - Defective Code