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.
<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>
composer require defectivecode/link-sharer
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 | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | 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 | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media Gönderide gösterilecek bir resim URL'si. |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary Gönderinin özeti. |
✔️ | ✔️ | ||
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. |
✔️ | ✔️ | 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. |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
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:
Hem text
hem de url
özellikleri mevcutsa, url
text
özelliğine eklenir.
Sadece url
özelliği mevcutsa, text
özelliği url
'ün değerini alır.
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.
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.
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:
Ü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.
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.
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.
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.
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.