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 projeye bir pull request açın ve docs/{ISO 639-1 Kodu}.md dosyasını ekleyin.

Giriş

Bu paket, Laravel uygulamanıza paylaşım bağlantıları eklemeyi kolaylaştırır. Eksik bir hizmet fark ederseniz lütfen bir çekme isteği açın!

Paylaşım bağlantısı, web sitenizden veya uygulamanızdan içeriği paylaşmak için bir 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. Bu ö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. Laravel'in blade bileşen sistemi aracılığıyla hızlı bir şekilde paylaşım bağlantıları oluşturmak için bu açık kaynaklı paketi kullanın.

Örnek

<x-link-sharer service="twitter" text="Paylaş!" url="https://www.defectivecode.com" hashtags="harika,bağlantılar" class="p-4">
<!-- Paylaşım düğmesinin görünümünü kontrol etmek için buraya HTML kodunuzu ekleyin -->
<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 kurun:
    composer require defectivecode/link-sharer
  2. Bu kadar! Paketimiz otomatik olarak Laravel'in paket keşfi kullanılarak kurulacaktır.

Hizmetler

Hizmet sağlayıcıları zaman zaman paylaşım bağlantılarını önceden bildirim yapmadan günceller. Bu değişikliklerle güncel kalmak için elimizden geleni yapıyoruz. Ancak, işlevsiz bir hizmetle karşılaşırsanız, lütfen bir sorun açın veya bir pull 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 geçirilebilecek ek parametreler sağlar. Bunlar aşağıdaki tabloda belgelenmiştir.

Hizmet Metin Desteği URL Desteği Notlar
Blogger ✔️ ✔️ t Blog gönderisinin 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 Gizli kopya olarak gönderilecek e-posta adreslerinin virgülle ayrılmış listesi.
cc Kopya olarak gönderilecek 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öndermek için kişinin kimlik numarası.
Tumblr ✔️ ✔️ caption Gönderiye eklenecek bir başlık.
tags Gönderiye uygulanacak virgülle ayrılmış etiketlerin listesi.
Twitter ✔️ ✔️ hastags Tweet'e uygulanacak virgülle ayrılmış etiketlerin listesi.
via Kredi verilecek tweet atan kişi.
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 oldukça basittir. src/Services klasörü içinde yeni bir hizmet sınıfı oluşturarak başlayın. Sınıfı eklemek istediğiniz hizmetin adıyla adlandırın. Fabrika aracılığıyla hizmet otomatik olarak kaydedildiğinden, manuel kayıt gerekmez.

Aşağıda sağlanan Gmail hizmeti iyi bir örnek olarak hizmet 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'in 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 temel URL'sini belirtir. Bu URL, paylaşım bağlantısını oluştururken sorgu parametrelerinin eklenmesi için temel oluşturur. Gmail'i bir örnek olarak kullanarak, temel URL'si https://mail.google.com/mail/u/0'dır.

$baseParameterMapping

Bu paket, text ve url olmak üzere iki temel özelliği tanır, çünkü bunlar çoğu hizmet sağlayıcıda yaygındır. Eğer söz konusu hizmet farklı bir adlandırma kuralı kullanıyorsa, yalnızca bu özellikleri tanımlayın. Örneğin, Gmail text yerine body kullanır, bu nedenle bu açık eşleme gereklidir. Gmail'i kullanırken, bıçak bileşenine geçirilen herhangi bir text özelliği, paylaşım bağlantısındaki 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'yu destekler. Bunları additionalParameters dizisinde tanımlayın. Kullanıcılar bu özellikleri bıçak bileşenine eklediğinde, paylaşım bağlantısına eklenirler. Bu parametrelerin, desteklenen hizmetler tablosunda da kısa açıklamalarıyla birlikte listelendiğinden emin olun.

$defaultParameters

Bazı hizmetlerin paylaşım bağlantısının işlevsel olması için belirli sorgu parametrelerini zorunlu kıldığı durumlar vardır. Örneğin, Gmail view=cm'nin dahil edilmesini gerektirir. Bu zorunlu özellikler defaultParameters dizisinde belirtilir. Her zaman paylaşım bağlantısına eklenir ve atlanamazlar.

prepareAttributes()

Paylaşım bağlantısı oluşturmadan önce öznitelikleri değiştirmek için hizmetinize bir prepareAttributes yöntemi ekleyin. Bu yöntem, öznitelikleri generateLink yöntemine geçirmeden önce etkinleştirilir ve özel öznitelik değişikliklerine izin verir. Aşağıda AppendsLinks özelliğini kullanarak bir örnek gösterilmiştir.

<?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 özniteliklere $attributes dizisi üzerinden erişilebilir. İllüstrasyonlu örnekte:

Destek İlkeleri

Açık kaynak paketimizi seçtiğiniz için teşekkür ederiz! Lütfen bu destek ilkelerini kontrol etmek için bir an ayırın. Bu, projemizden en iyi şekilde yararlanmanıza yardımcı olacaktır.

Topluluk Destekli

Açık kaynak projemiz, harika topluluğumuz tarafından desteklenmektedir. 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 Önceliklendirme

Açık kaynak bir projeyi yönetmenin gerçeği, her bildirilen hatayı veya özellik isteğini hemen ele alamayacağımız anlamına gelir. Sorunları aşağıdaki sıraya göre önceliklendiriyoruz:

1. Ücretli Ürünlerimizi Etkileyen Hatalar

Ücretli ürünlerimizi etkileyen hatalar her zaman en öncelikli konumuz olacaktır. Bazı durumlarda, sadece bizi etkileyen hatalara çözüm bulabiliriz.

2. Topluluk Pull İstekleri

Bir hatayı tespit ettiniz ve bir çözümünüz varsa, lütfen bir pull isteği gönderin. Ürünlerimizi etkileyen sorunlardan sonra, bu topluluk destekli düzeltmelere en yüksek önceliği veriyoruz. İncelemeye alındıktan ve onaylandıktan sonra, çözümünüzü birleştirecek ve katkınızı takdir edeceğiz.

3. Mali Destek

Yukarıda belirtilen kategoriler dışındaki sorunlar için çözümlerinin finanse edilmesini tercih edebilirsiniz. Her açık sorun, finansal olarak katkıda bulunabileceğiniz bir sipariş formuna bağlıdır. Bu sorunları, sağlanan finansal destek 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 geliştirmeleri, belge güncellemeleri, öğreticiler veya topluluk kanallarında diğer insanlara yardımcı olarak katkıda bulunmayı düşünün. Herkesi, bir topluluk olarak, açık kaynak çalışmalarını desteklemeye teşvik ediyoruz.

Söz konusu DefectiveCode, hataları ücretli ürünlerimize nasıl etkilediklerine göre önceliklendirecek, topluluk pull isteklerine ve sorunlar için alınan mali desteklere 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 belgelendirme dosyalarının (bundan sonra "Yazılım" olarak anılacaktır) bir kopyasını elde eden herhangi bir kişiye, Yazılım'ı herhangi bir kısıtlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayınlama, dağıtma, alt lisanslama ve/veya Yazılım'ın kopyalarını satma izni ücretsiz olarak verilir ve Yazılım'ı sağlayan kişilere aşağıdaki koşullara tabi olarak bunu yapma izni verilir:

Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi, tüm kopyaların veya önemli bölümlerinin Yazılım'a dahil edilmesi gerekmektedir.

YAZILIM "OLDUĞU GİBİ" SAĞLANIR, HİÇBİR GARANTİ VERİLMEDEN, AÇIKÇA VEYA ZIMNEN, SATILABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VEYA İHLAL ETMEME GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE HİÇBİR GARANTİ VERİLMEDEN SAĞLANIR. HERHANGİ BİR DURUMDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ, SÖZLEŞME, HAKSIZ FİİL VEYA DİĞER EYLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER SORUMLULUK İÇİN, YAZILIM VEYA YAZILIMIN KULLANIMI VEYA DİĞER İLİŞKİLİ İŞLEMLERDEN KAYNAKLANAN HERHANGİ BİR TALEP, ZARAR VEYA DİĞER SORUMLULUK İÇİN HİÇBİR SORUMLULUK KABUL ETMEZ.

Link Sharer - Defective Code