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

翻訳の警告

このドキュメントは自動的に翻訳されました。もし翻訳のエラーがある場合は、プロジェクトのプルリクエストを開いて、docs/{ISO 639-1 Code}.mdに翻訳されたファイルを追加してください。

はじめに

このパッケージは、Laravelアプリケーションにシェアリンクを追加するプロセスを簡素化します。もし、サービスが不足している場合は、プルリクエストを開いてください!

シェアリンクは、ソーシャルメディアのベースURLと、ウェブサイトやアプリからコンテンツを共有するためのクエリパラメータを組み合わせたURLです。パラメータには通常、コンテンツのURLと事前設定されたメッセージが含まれます。これらのリンクは、Twitter、Facebook、Telegramなどのプラットフォームで投稿を簡単に共有するためのものです。Laravelのブレードコンポーネントシステムを使用して、このオープンソースのパッケージを使用して、簡単にシェアリンクを作成できます。

<x-link-sharer service="twitter" text="Share me!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4">
<!-- シェアボタンの見た目を制御するためのHTMLコードをここに記述 -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Click me!</span>
</x-link-sharer>

インストール

  1. まず、次のcomposerコマンドを実行してPHPパッケージをインストールします:
    composer require defectivecode/link-sharer
  2. 以上です!私たちのパッケージは、Laravelのパッケージディスカバリを使用して自動的にインストールされます。

サービス

サービスプロバイダーは時折共有リンクを事前通知なしに更新することがあります。私たちはこれらの変更に常に最新の情報を提供するよう努めていますが、もし機能しないサービスに出くわした場合は、問題を開いたりプルリクエストを提出してください。新しいサービスを追加する場合は、以下のcontributingセクションを参照してください。

一部のサービスは、コンポーネントに渡すことができる追加のパラメータを提供しています。これらは以下の表に記載されています。

サービス テキスト対応 URL対応 ノート
Blogger ✔️ ✔️ t ブログ投稿のテキスト
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description 投稿に追加する説明
Douban ✔️ ✔️ comment 投稿に追加するコメント
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote 投稿に追加する引用
Gmail ✔️ ✔️ bcc BCCに送信するメールアドレスのカンマ区切りリスト。
cc CCに送信するメールアドレスのカンマ区切りリスト。
su メールの件名。
to 送信先のメールアドレスのカンマ区切りリスト。
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description 投稿の説明
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media 投稿に表示する画像のURL
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary 投稿の概要
Reddit ✔️ ✔️
Renren ✔️ ✔️ description 投稿の説明。
srcUrl 投稿の元のURL
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id 投稿を送信する相手のID
Tumblr ✔️ ✔️ caption 投稿に追加するキャプション。
tags 投稿に適用するタグのカンマ区切りリスト
Twitter ✔️ ✔️ hastags ツイートに適用するハッシュタグのカンマ区切りリスト。
via クレジットを表示するツイッター
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description 投稿の説明。
image 投稿に表示する画像のURL
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Contributing

サービスを追加するのは比較的簡単です。src/Servicesフォルダ内に新しいサービスクラスを作成してください。クラス名は追加するサービスの名前にしてください。システムは自動的にファクトリを介してサービスを登録するため、手動での登録は必要ありません。

以下に示すGmailサービスは良い例です。

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

baseUrlのみが必須です。baseParameterMappingadditionalParametersdefaultParametersはオプションですが、機能を向上させることができます。

$baseUrl

サービスのURLはHTTPSで始まる必要はありません。たとえば、Viberはviber://forwardを使用します。

baseUrlプロパティはサービスの主要なURLを指定します。このURLは共有リンクの生成時に基礎となり、クエリパラメータが追加されます。Gmailを例にすると、ベースURLはhttps://mail.google.com/mail/u/0です。

$baseParameterMapping

このパッケージでは、texturlという2つの主要な属性を識別します。これらの属性は、ほとんどのサービスプロバイダで普及しているため、異なる命名規則を使用するサービスの場合にのみこれらの属性を定義します。たとえば、Gmailではtextの代わりにbodyを使用しているため、この明示的なマッピングが必要です。Gmailを使用する場合、ブレードコンポーネントに渡される任意のtext属性は、共有リンクのbodyクエリパラメータに変換されます。

$additionalParameters

一部のサービスは、より具体的なクエリパラメータを受け入れます。Gmailを参考にすると、bccccsutoをサポートしています。これらをadditionalParameters配列に定義します。ユーザーがこれらの属性をブレードコンポーネントに含めると、それらは共有リンクに追加されます。これらのパラメータは、サポートされているサービステーブルにも簡潔な説明とともにリストされていることを確認してください。

$defaultParameters

一部のサービスでは、共有リンクの機能を実現するために特定のクエリパラメータが必要です。例として、Gmailではview=cmの含まれることが必要です。このような必須の属性は、defaultParameters配列で宣言されます。これらは常に共有リンクに追加され、省略することはできません。

prepareAttributes()

共有リンクを生成する前に属性を操作するために、サービスにprepareAttributesメソッドを導入します。このメソッドは、属性をgenerateLinkメソッドに渡す前にアクティブ化され、カスタム属性の変更を可能にします。以下は、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'];
}
}
}

サービスに渡される属性は、$attributes配列を介してアクセスできます。上記の例では、

サポートガイドライン

当社のオープンソースパッケージを選んでいただきありがとうございます!サポートガイドラインをご確認いただき、プロジェクトを最大限に活用していただけるようお願いいたします。

コミュニティによるサポート

当社のオープンソースプロジェクトは、素晴らしいコミュニティに支えられています。質問やサポートが必要な場合は、StackOverflowやその他のオンラインリソースが最適です。

バグと機能の優先順位

オープンソースプロジェクトを管理する現実的な問題により、すべての報告されたバグや機能リクエストにすぐに対応することはできません。以下の順序で問題を優先します。

1. 有料製品に影響を与えるバグ

有料製品に影響を与えるバグは常に最優先です。一部の場合、直接に影響を与えるバグのみを対応することがあります。

2. コミュニティによるプルリクエスト

バグを特定し、解決策を持っている場合は、プルリクエストを提出してください。製品に影響を与える問題に続いて、これらのコミュニティによる修正に次の最高の優先順位を与えます。レビューおよび承認後、解決策をマージし、貢献者としてクレジットします。

3. 財務的なサポート

上記のカテゴリに該当しない問題については、解決策の資金提供を選択することができます。各オープンな問題は、資金提供が行われた金額に基づいて優先順位付けされます。

コミュニティの貢献

オープンソースは、コミュニティが活発であるときに発展します。バグ修正を行わなくても、コードの改善、ドキュメントの更新、チュートリアルの作成、またはコミュニティチャンネルで他の人をサポートすることによって貢献することを検討してください。私たちは、コミュニティ全体としてオープンソースの取り組みをサポートすることを強くお勧めします。

再度強調しますが、DefectiveCodeは、有料製品にどのように影響するかに基づいてバグの優先順位を付け、コミュニティによるプルリクエスト、および問題に対する財務的なサポートを受けます。

ライセンス - MITライセンス

著作権© Defective Code, LLC. All rights reserved

このソフトウェアおよび関連するドキュメントファイル(以下、「ソフトウェア」という)の複製を入手するすべての人に対して、以下の条件に従って、ソフトウェアを制限なく取り扱うことを許可します。

上記の著作権表示およびこの許諾表示は、ソフトウェアのすべての複製または重要な部分に含まれるものとします。

ソフトウェアは「現状のまま」提供され、明示または黙示を問わず、商品性、特定目的への適合性、および非侵害についての保証を含め、いかなる種類の保証もなしに提供されます。著作権者または著作権の保持者は、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく

Link Sharer - Defective Code