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>
composer require defectivecode/link-sharer
サービスプロバイダーは時折共有リンクを事前通知なしに更新することがあります。私たちはこれらの変更に常に最新の情報を提供するよう努めていますが、もし機能しないサービスに出くわした場合は、問題を開いたりプルリクエストを提出してください。新しいサービスを追加する場合は、以下のcontributingセクションを参照してください。
一部のサービスは、コンポーネントに渡すことができる追加のパラメータを提供しています。これらは以下の表に記載されています。
サービス | テキスト対応 | URL対応 | ノート |
---|---|---|---|
Blogger | ✔️ | ✔️ | t ブログ投稿のテキスト |
Diaspora | ✔️ | ✔️ | |
Diigo | ✔️ | ✔️ | description 投稿に追加する説明 |
Douban | ✔️ | ✔️ | comment 投稿に追加するコメント |
Evernote | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | quote 投稿に追加する引用 |
|
Gmail | ✔️ | ✔️ | bcc BCCに送信するメールアドレスのカンマ区切りリスト。cc CCに送信するメールアドレスのカンマ区切りリスト。su メールの件名。to 送信先のメールアドレスのカンマ区切りリスト。 |
HackNews | ✔️ | ✔️ | |
Instapaper | ✔️ | ✔️ | description 投稿の説明 |
LineMe | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media 投稿に表示する画像のURL |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary 投稿の概要 |
✔️ | ✔️ | ||
Renren | ✔️ | ✔️ | description 投稿の説明。srcUrl 投稿の元のURL |
Skype | ✔️ | ✔️ | |
Telegram | ✔️ | ✔️ | |
Threema | ❌ | ✔️ | id 投稿を送信する相手のID |
Tumblr | ✔️ | ✔️ | caption 投稿に追加するキャプション。tags 投稿に適用するタグのカンマ区切りリスト |
✔️ | ✔️ | hastags ツイートに適用するハッシュタグのカンマ区切りリスト。via クレジットを表示するツイッター |
|
Viber | ✔️ | ✔️ | |
VKontakte | ✔️ | ✔️ | description 投稿の説明。image 投稿に表示する画像のURL |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
サービスを追加するのは比較的簡単です。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
のみが必須です。baseParameterMapping
、additionalParameters
、defaultParameters
はオプションですが、機能を向上させることができます。
$baseUrl
サービスのURLはHTTPSで始まる必要はありません。たとえば、Viberは
viber://forward
を使用します。
baseUrl
プロパティはサービスの主要なURLを指定します。このURLは共有リンクの生成時に基礎となり、クエリパラメータが追加されます。Gmailを例にすると、ベースURLはhttps://mail.google.com/mail/u/0
です。
$baseParameterMapping
このパッケージでは、text
とurl
という2つの主要な属性を識別します。これらの属性は、ほとんどのサービスプロバイダで普及しているため、異なる命名規則を使用するサービスの場合にのみこれらの属性を定義します。たとえば、Gmailではtext
の代わりにbody
を使用しているため、この明示的なマッピングが必要です。Gmailを使用する場合、ブレードコンポーネントに渡される任意のtext
属性は、共有リンクのbody
クエリパラメータに変換されます。
$additionalParameters
一部のサービスは、より具体的なクエリパラメータを受け入れます。Gmailを参考にすると、bcc
、cc
、su
、to
をサポートしています。これらを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
配列を介してアクセスできます。上記の例では、
text
とurl
の両方の属性が存在する場合、url
はtext
属性に追加されます。url
属性のみが利用可能な場合、text
属性はurl
の値を取ります。当社のオープンソースパッケージを選んでいただきありがとうございます!サポートガイドラインをご確認いただき、プロジェクトを最大限に活用していただけるようお願いいたします。
当社のオープンソースプロジェクトは、素晴らしいコミュニティに支えられています。質問やサポートが必要な場合は、StackOverflowやその他のオンラインリソースが最適です。
オープンソースプロジェクトを管理する現実的な問題により、すべての報告されたバグや機能リクエストにすぐに対応することはできません。以下の順序で問題を優先します。
有料製品に影響を与えるバグは常に最優先です。一部の場合、直接に影響を与えるバグのみを対応することがあります。
バグを特定し、解決策を持っている場合は、プルリクエストを提出してください。製品に影響を与える問題に続いて、これらのコミュニティによる修正に次の最高の優先順位を与えます。レビューおよび承認後、解決策をマージし、貢献者としてクレジットします。
上記のカテゴリに該当しない問題については、解決策の資金提供を選択することができます。各オープンな問題は、資金提供が行われた金額に基づいて優先順位付けされます。
オープンソースは、コミュニティが活発であるときに発展します。バグ修正を行わなくても、コードの改善、ドキュメントの更新、チュートリアルの作成、またはコミュニティチャンネルで他の人をサポートすることによって貢献することを検討してください。私たちは、コミュニティ全体としてオープンソースの取り組みをサポートすることを強くお勧めします。
再度強調しますが、DefectiveCodeは、有料製品にどのように影響するかに基づいてバグの優先順位を付け、コミュニティによるプルリクエスト、および問題に対する財務的なサポートを受けます。
著作権© Defective Code, LLC. All rights reserved
このソフトウェアおよび関連するドキュメントファイル(以下、「ソフトウェア」という)の複製を入手するすべての人に対して、以下の条件に従って、ソフトウェアを制限なく取り扱うことを許可します。
上記の著作権表示およびこの許諾表示は、ソフトウェアのすべての複製または重要な部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示または黙示を問わず、商品性、特定目的への適合性、および非侵害についての保証を含め、いかなる種類の保証もなしに提供されます。著作権者または著作権の保持者は、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく、請求、損害、またはその他の責任について、契約、不法行為、またはその他の行為に基づく