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

# Çeviri Uyarısı

Bu belge otomatik olarak çevrilmiştir. Eğer çeviri hataları varsa, lütfen projede bir pull request açın ve çevrilmiş dosyayı docs/{ISO 639-1 Code}.md dosyasına ekleyin.

# Giriş

Bu paket, Laravel uygulamanıza paylaşım bağlantıları ekleme sürecini basitleştirir. Eksik bir hizmet fark ederseniz, bir pull request açmaktan çekinmeyin!

Bir paylaşım bağlantısı, sosyal medya temel URL'sini ve web sitenizden veya uygulamanızdan içerik paylaşmak için sorgu parametrelerini birleştiren bir URL'dir. Parametreler genellikle içerik URL'sini ve önceden ayarlanmış 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ıca paylaşım bağlantıları oluşturabilirsiniz.

Örnek

<x-link-sharer service="twitter" text="Beni paylaş!" url="https://www.defectivecode.com" hashtags="harika,bağlantılar" class="p-4">
<!-- Paylaşım düğmesinin görünümünü ve hissini kontrol etmek için HTML kodunuz burada -->
<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. İlk olarak aşağıdaki composer komutunu çalıştırarak PHP paketini yükleyin:
    composer require defectivecode/link-sharer
  2. İşte bu kadar! Paketimiz, Laravel'in paket keşfi kullanılarak otomatik olarak yüklenecektir.

Hizmetler

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

Bazı hizmetler, bileşene iletilebilecek ek parametreler sağlar. Bunlar aşağıdaki tabloda belgelenmiştir.

Hizmet Metin Destekli URL Destekli Notlar
Blogger ✔️ ✔️ t Blog yazısının metni.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Gönderiye eklenecek bir açıklama.
Douban ✔️ ✔️ comment Gönderiye eklenecek bir yorum.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Gönderiye eklenecek bir alıntı.
Gmail ✔️ ✔️ bcc BCC yapılacak e-posta adreslerinin virgülle ayrılmış listesi.
cc CC yapılacak e-posta adreslerinin virgülle ayrılmış listesi.
su E-postanın konusu.
to Gönderilecek e-posta adreslerinin virgülle ayrılmış listesi.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Gönderinin açıklaması.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media Gönderide gösterilecek bir resim 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önderecek kişinin kimliği.
Tumblr ✔️ ✔️ caption Gönderiye eklenecek bir başlık.
tags Gönderiye uygulanacak virgülle ayrılmış etiket listesi.
Twitter ✔️ ✔️ hastags Tweet'e uygulanacak virgülle ayrılmış etiket listesi.
via Kredi verilecek tweeter.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Gönderinin açıklaması.
image Gönderide gösterilecek bir resim URL'si.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Katkıda Bulunma

Bir hizmet eklemek nispeten basittir. src/Services klasörü içinde yeni bir hizmet sınıfı oluşturarak başlayın. Sınıfı eklediğiniz hizmetin adıyla adlandırın. Sistem, hizmeti fabrika aracılığıyla otomatik olarak kaydeder, bu yüzden manuel kayda gerek yoktur.

Aşağıda sağlanan 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 sadece 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 HTTPS ile başlamak zorunda değildir. Örneğin, Viber viber://forward kullanır.

baseUrl özelliği, hizmetin ana URL'sini belirtir. Bu URL, paylaşım bağlantısı oluşturulurken temel alınır ve sorgu parametreleri buna eklenir. Gmail'i örnek olarak kullanırsak, temel URL'si https://mail.google.com/mail/u/0'dır.

$baseParameterMapping

Bu paket, çoğu hizmet sağlayıcısında yaygın olan text ve url olmak üzere iki ana özelliği tanımlar. Bu özellikleri yalnızca hizmetin farklı bir adlandırma kuralı kullanması durumunda tanımlayın. Örneğin, Gmail text yerine body kullanır, bu nedenle bu açık haritalama gereklidir. Gmail kullanırken, blade bileşenine geçirilen herhangi bir text özelliğ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 alırsak, bcc, cc, su ve to'yu destekler. Bunları additionalParameters dizisinde tanımlayın. Kullanıcılar bu özellikleri blade bileşenine eklediğinde, paylaşım bağlantısına eklenirler. Bu parametrelerin desteklenen hizmetler tablosunda da listelendiğinden ve kısa açıklamalarla birlikte olduğundan emin olun.

$defaultParameters

Belirli hizmetler, paylaşım bağlantısının çalışması için belirli sorgu parametrelerini zorunlu kılar. Örneğin, Gmail view=cm'nin dahil edilmesini gerektirir. Bu tür zorunlu özellikler defaultParameters dizisinde belirtilir. Her zaman paylaşım bağlantısına eklenirler ve çıkarılamazlar.

prepareAttributes()

Paylaşım bağlantısı oluşturmadan önce özellikleri değiştirmek için, hizmetinize bir prepareAttributes yöntemi ekleyin. Bu yöntem, özellikler generateLink yöntemine geçirilmeden önce etkinleşir ve özel özellik değişikliklerine izin verir. Aşağıda AppendsLinks özelliğini kullanarak bir gösterim bulunmaktadı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 özellikler $attributes dizisi aracılığıyla erişilebilir. Gösterilen örnekte:

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

Topluluk Odaklı Destek

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

Hatalar ve Özellik Önceliklendirme

Açık kaynak bir projeyi yönetmenin gerçekliği, bildirilen her hatayı veya özellik talebini hemen ele alamayacağımız anlamına gelir. Sorunları şu 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 bizi doğrudan etkileyen hataları ele alabiliriz.

2. Topluluk Çekme İstekleri

Bir hata tespit ettiyseniz ve bir çözümünüz varsa, lütfen bir çekme isteği 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ştirir ve katkınızı kredi olarak veririz.

3. Mali Destek

Belirtilen kategorilerin dışındaki sorunlar için, çözümün finanse edilmesini tercih edebilirsiniz. Her açık sorun, mali olarak 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üzeltmeseniz bile, kod iyileştirmeleri, dokümantasyon güncellemeleri, eğitimler veya topluluk kanallarında başkalarına yardımcı olarak katkıda bulunmayı düşünün. Herkesi, topluluk olarak, açık kaynak çalışmasını desteklemeye teşvik ediyoruz.

Tekrar belirtmek gerekirse, DefectiveCode hataları ücretli ürünlerimizi nasıl etkilediğine, topluluk çekme isteklerine ve sorunlar için alınan mali desteğe göre önceliklendirecektir.

Lisans - MIT Lisansı

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

Bu yazılımın ve ilişkili dokümantasyon dosyalarının ("Yazılım") bir kopyasını edinen herhangi bir kişiye, Yazılım'ı kısıtlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayımlama, dağıtma, alt lisans verme ve/veya Yazılım'ın kopyalarını satma hakları dahil olmak üzere, Yazılım ile ilgilenme izni ücretsiz olarak verilir ve bu kişilere Yazılım'ın sağlandığı kişilere bu hakları vermesine izin verilir, aşağıdaki koşullara tabi olarak:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, Yazılım'ın tüm kopyalarına veya önemli bölümlerine dahil edilmelidir.

YAZILIM "OLDUĞU GİBİ" SAĞLANMAKTADIR, HERHANGİ BİR TÜRDE GARANTİ VERİLMEMEKTEDİR, AÇIK VEYA ZIMNİ OLARAK, PAZARLANABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE. HİÇBİR DURUMDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, SÖZLEŞME, HAKSIZ FİİL VEYA BAŞKA BİR ŞEKİLDE, YAZILIMDAN VEYA YAZILIMIN KULLANIMINDAN VEYA DİĞER İŞLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER YÜKÜMLÜLÜKLERDEN SORUMLU OLMAYACAKTIR.

Link Sharer - Defective Code