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

Giriş

Bu paket, Laravel uygulamanıza paylaşım bağlantıları ekleme sürecini basitleştirir. Eğer bir hizmetin eksik olduğunu fark ederseniz, lütfen bir çekme talebi açmaktan çekinmeyin!

Bir paylaşım bağlantısı, web sitenizden veya uygulamanızdan içerik paylaşmak için sosyal medya temel URL'si ile sorgu parametrelerini birleştiren bir URL'dir. Parametreler genellikle içerik URL'sini ve önceden belirlenmiş bir mesajı içerir. Örneklerde gösterildiği gibi, bu bağlantılar kullanıcıların Twitter, Facebook ve Telegram gibi platformlarda gönderileri kolayca paylaşmalarını sağlar. Bu açık kaynaklı paketi kullanarak Laravel'in blade bileşen sistemi aracılığıyla hızlı bir şekilde paylaşım bağlantıları oluşturabilirsiniz.

Örnek

<x-link-sharer service="twitter" text="Beni paylaş!" url="https://www.defectivecode.com" hashtags="harika,linkler" class="p-4">
<!-- Paylaşım düğmesinin görünümünü ve hissini kontrol etmek için buraya HTML kodunuzu yerleştirin -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Bana tıkla!</span>
</x-link-sharer>

Kurulum

  1. Öncelikle aşağıdaki composer komutunu çalıştırarak PHP paketini yükleyin:
    composer require defectivecode/link-sharer
  2. Bu kadar! Paketinimiz Laravel'in paket keşfi kullanılarak otomatik olarak yüklenecektir.

Hizmetler

Hizmet sağlayıcıları bazen paylaşım bağlantılarını önceden bildirmeden güncelleyebilir. Bu değişikliklere göre güncel kalmak için elimizden geleni yapıyoruz. Ancak, çalışmayan bir hizmetle karşılaşırsanız, lütfen bir sorun açın veya bir çekme talebi gönderin. Yeni bir hizmet eklemek için aşağıdaki katkıda bulunma bölümüne bakın.

Bazı hizmetler, bileşene aktarılabilecek ekstra parametreler sağlar. Bunlar aşağıdaki tabloda belgelenmiştir.

Hizmet Metin Destekleniyor URL Destekleniyor Notlar
Blogger ✔️ ✔️ t Blog yazısının metni.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Gönderiye eklenmesi gereken bir açıklama.
Douban ✔️ ✔️ comment Gönderiye eklenmesi gereken bir yorum.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Gönderiye eklenmesi gereken bir alıntı.
Gmail ✔️ ✔️ bcc BCC için virgülle ayrılmış e-posta adresleri listesi.
cc CC için virgülle ayrılmış e-posta adresleri listesi.
su E-postanın konusu.
to Gönderilecek virgülle ayrılmış e-posta adresleri listesi.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Gönderinin açıklaması.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media Gönderide gösterilecek bir görüntü URL'si.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Gönderinin özeti.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description Gönderinin açıklaması.
srcUrl Gönderinin orijinal URL'si.
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id Gönderiyi göndereceğiniz kişi kimliği.
Tumblr ✔️ ✔️ caption Gönderiye eklenmesi gereken bir başlık.
tags Gönderiye uygulanacak virgülle ayrılmış etiketler listesi.
Twitter ✔️ ✔️ hastags Tweet'e uygulanacak virgülle ayrılmış hashtagler listesi.
via Kredi verilmesi gereken Twitter hesabı.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Gönderinin açıklaması.
image Gönderide gösterilecek bir görüntü URL'si.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Katkıda Bulunma

Bir hizmet eklemek oldukça basittir. Başlangıç olarak src/Services klasörü içinde yeni bir hizmet sınıfı oluşturun. Sınıfı eklediğiniz hizmetin adıyla adlandırın. Sistem, fabrikayı kullanarak hizmeti otomatik olarak kaydeder, bu nedenle manuel kayda gerek yoktur.

Aşağıda verilen Gmail hizmeti, iyi bir örnek teşkil eder.

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

Lütfen yalnızca baseUrl'nin zorunlu olduğunu unutmayın. baseParameterMapping, additionalParameters ve defaultParameters isteğe bağlıdır, ancak işlevselliği artırabilir.

$baseUrl

Bir hizmetin URL'si mutlaka HTTPS ile başlamalıdır. Örneğin, Viber viber://forward kullanır.

baseUrl özelliği, hizmetin birincil URL'sini belirtir. Bu URL, paylaşım bağlantısını oluştururken temel alınır ve sorgu parametreleri eklenir. Gmail örneğini kullanarak, onun temel URL'si https://mail.google.com/mail/u/0 olarak belirlenmiştir.

$baseParameterMapping

Bu paket, çoğu hizmet sağlayıcısında yaygın olan iki ana niteliği tanımlar: text ve url. Bu nitelikleri yalnızca hizmetin farklı bir adlandırma düzeni kullanması durumunda tanımlayın. Örneğin, Gmail, text yerine body kullandığı için, bu açık eşleme gereklidir. Gmail kullanıldığında, blade bileşenine geçirilen herhangi bir text niteliği, paylaşım bağlantısında body sorgu parametresine dönüştürülür.

$additionalParameters

Bazı hizmetler daha spesifik sorgu parametrelerini kabul eder. Gmail'i referans alarak, bcc, cc, su ve to parametrelerini destekler. Bunları additionalParameters dizisinde tanımlayın. Kullanıcılar bu nitelikleri blade bileşeninde eklediğinde, paylaşım bağlantısına eklenir. Bu parametrelerin de desteklenen hizmetler tablosunda, kısa açıklamalarla birlikte listelendiğinden emin olun.

$defaultParameters

Bazı hizmetler, paylaşım bağlantısının çalışması için belirli sorgu parametrelerinin dahil edilmesini zorunlu kılar. Örneğin, Gmail view=cm parametresinin eklenmesini gerektirir. Böyle zorunlu nitelikler, defaultParameters dizisinde beyan edilir. Bunlar her zaman paylaşım bağlantısına eklenir ve çıkarılamaz.

prepareAttributes()

Paylaşım bağlantısı oluşturulmadan önce nitelikleri manipüle etmek için hizmetinize bir prepareAttributes yöntemi ekleyin. Bu yöntem, nitelikleri generateLink yöntemine geçirmeden önce aktive olur ve özel nitelik değişikliklerine olanak tanır. Aşağıda AppendsLinks traiti kullanılarak bir gösterim sunulmaktadır.

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

Hizmete geçirilen nitelikler, $attributes dizisi aracılığıyla erişilebilir. Örneklemede:

Destek Kılavuzları

Açık kaynak paketimizi seçtiğiniz için teşekkürler! Lütfen bu destek kılavuzlarına bir göz atmak için biraz zaman ayırın. Bu kılavuzlar, projemizden en iyi şekilde yararlanmanıza yardımcı olacaktır.

Topluluk Tarafından Destek

Açık kaynak projemiz, harika topluluğumuz tarafından destekleniyor. Sorularınız varsa veya yardıma ihtiyacınız varsa, StackOverflow ve diğer çevrimiçi kaynaklar en iyi seçeneklerinizdir.

Hatalar ve Özellik Önceliklendirmesi

Açık kaynak projesini yönetmenin gerçeği, bildirilmiş olan her hata veya özellik talebini hemen ele alamayacağımızdır. Sorunları aşağıdaki sırayla önceliklendiriyoruz:

1. Ücretli Ürünlerimizi Etkileyen Hatalar

Ücretli ürünlerimizi etkileyen hatalar her zaman en yüksek önceliğimiz olacaktır. Bazı durumlarda, yalnızca bizim doğrudan etkilendiğimiz hataları ele alabiliriz.

2. Topluluk Çekme Talepleri

Bir hata tespit ettiyseniz ve bir çözümünüz varsa, lütfen bir çekme talebi gönderin. Ürünlerimizi etkileyen sorunlardan sonra, bu topluluk odaklı düzeltmelere en yüksek önceliği veriyoruz. İncelendikten ve onaylandıktan sonra, çözümünüzü birleştirecek ve katkınızı takdir edeceğiz.

3. Finansal Destek

Belirtilen kategorilerin dışındaki sorunlar için, çözümünü finanse etmeyi tercih edebilirsiniz. Her açık sorun, maddi katkıda bulunabileceğiniz bir sipariş formuna bağlıdır. Bu sorunları sağlanan finansman miktarına göre önceliklendiriyoruz.

Topluluk Katkıları

Açık kaynak, topluluğu aktif olduğunda gelişir. Hataları düzeltmiyor olsanız bile, kod iyileştirmeleri, belgeleri güncellemeler, öğreticiler aracılığıyla veya topluluk kanallarında başkalarına yardımcı olarak katkıda bulunmayı düşünün. Herkesi, bir topluluk olarak, açık kaynak çalışmalarını desteklemeye teşvik ediyoruz.

Tekrar belirtmek gerekirse, DefectiveCode, hataları nasıl etkilediklerine göre önceliklendirecektir; bu, ücretli ürünlerimize etkisi, topluluk çekme talepleri ve sorunlar için alınan finansal desteği içermektedir.

Lisans - MIT Lisansı

Telif Hakkı © Defective Code, LLC. Tüm hakları saklıdır

Bu yazılım ve ilgili belge dosyalarının (bundan böyle "Yazılım" olarak anılacaktır) bir kopyasını edinen herhangi bir kişiye, Yazılım'da kısıtlama olmaksızın işlem yapma izni verilmiştir; bu izin, Yazılım'ı kullanma, kopyalama, değiştirme, birleştirme, yayımlama, dağıtma, alt lisans verme ve/veya Yazılım'ın kopyalarını satma haklarını da içermektedir ve Yazılım'ın sağlandığı kişilerin bunu yapmasına izin verilmektedir; ancak, aşağıdaki koşullara tabi olacaktır:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılım'ın tüm kopyalarında veya önemli kısımlarında yer almalıdır.

YAZILIM "OLDUĞU GİBİ" SAĞLANMAKTADIR; HERHANGİ BİR TÜRDE, AÇIK YA DA ZIMNİ, SATILABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VEYA HUKUKİ İHLAL GARANTİSİ DE DAHİL OLMAK ÜZERE HİÇBİR GARANTİ VERMEZ. YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, YAZILIM’DAN veya YAZILIM'IN KULLANIMI veya DİĞER İŞLEMLERİNDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER YÜKÜMDÜRLÜKLERDEN SORUMLU TUTULAMAZ; İSTER SÖZLEŞME TASARISI, SORUMLULUK, YA DA BAŞKA BİR ŞEKİLDE OLSUN.