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}.md.

مقدمة

يسهل هذا الحزمة عملية إضافة روابط المشاركة إلى تطبيق Laravel الخاص بك. لا تتردد في فتح طلب سحب إذا لاحظت أننا نفتقد خدمة ما!

رابط المشاركة هو عنوان URL يجمع بين عنوان URL الأساسي لوسائل التواصل الاجتماعي مع معلمات الاستعلام لمشاركة المحتوى من موقعك أو تطبيقك. تشمل المعلمات عادة عنوان URL للمحتوى ورسالة مسبقة. تتيح هذه الروابط ، كما هو موضح في الأمثلة ، للمستخدمين مشاركة المنشورات بسهولة على منصات مثل Twitter و Facebook و Telegram. استخدم هذه الحزمة مفتوحة المصدر لإنشاء روابط المشاركة بسرعة عبر نظام تكوين شفرة Laravel.

مثال

<x-link-sharer service="twitter" text="شاركني!" url="https://www.defectivecode.com" hashtags="رائع,روابط" class="p-4">
<!-- الكود الخاص بك هنا للتحكم في مظهر وشعور زر المشاركة -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">انقر هنا!</span>
</x-link-sharer>

التثبيت

  1. قم بتثبيت حزمة PHP الأولى عن طريق تشغيل الأمر composer التالي:
    composer require defectivecode/link-sharer
  2. هذا كل شيء! ستقوم حزمتنا بالتثبيت تلقائيًا باستخدام اكتشاف الحزم في Laravel.

الخدمات

يقوم مقدمو الخدمة أحيانًا بتحديث روابطهم المشتركة دون إشعار مسبق. نحن نبذل كل جهد للبقاء محدثين مع هذه التغييرات. ومع ذلك ، إذا واجهت خدمة غير صالحة ، يرجى فتح مشكلة أو إرسال طلب سحب. لإضافة خدمة جديدة ، راجع القسم المساهمة أدناه.

توفر بعض الخدمات معلمات إضافية يمكن تمريرها إلى المكون. يتم وثق هذه المعلمات في الجدول أدناه.

الخدمة النص المدعوم رابط المدعوم الملاحظات
بلوغر ✔️ ✔️ t نص المقالة في المدونة.
دياسبورا ✔️ ✔️
دييغو ✔️ ✔️ description وصف لإضافته إلى المنشور.
دوبان ✔️ ✔️ comment تعليق لإضافته إلى المنشور.
إيفرنوت ✔️ ✔️
فيسبوك ✔️
فليببورد ✔️ ✔️ quote اقتباس لإضافته إلى المنشور.
جيميل ✔️ ✔️ bcc قائمة بعناوين البريد الإلكتروني المفصولة بفواصل لإرسال نسخة مخفية.
cc قائمة بعناوين البريد الإلكتروني المفصولة بفواصل لإرسال نسخة مرسولة.
su موضوع البريد الإلكتروني.
to قائمة بعناوين البريد الإلكتروني المفصولة بفواصل لإرسالها إليها.
هاك نيوز ✔️ ✔️
إنستابابر ✔️ ✔️ description وصف المنشور.
لاين مي ❌️ ✔️
لينكد إن ✔️
لايف جورنال ✔️ ✔️
مينيامي ❌️ ✔️
أوكرو ❌️ ✔️
أوتلوك ✔️ ✔️
بينتيريست ✔️ ✔️ media رابط صورة لعرضها في المنشور.
بلورك ❌ ️ ✔️
بوكيت ✔️ ✔️
كيوزون ✔️ ✔️ summary ملخص المنشور.
ريديت ✔️ ✔️
رينرين ✔️ ✔️ description وصف المنشور.
srcUrl عنوان URL الأصلي للمنشور.
سكايب ✔️ ✔️
تليجرام ✔️ ✔️
ثريما ✔️ id معرف الشخص لإرسال المنشور إليه.
تمبلر ✔️ ✔️ caption تسمية لإضافتها إلى المنشور.
tags قائمة مفصولة بفواصل من العلامات لتطبيقها على المنشور.
تويتر ✔️ ✔️ hastags قائمة مفصولة بفواصل من علامات التجزئة لتطبيقها على التغريدة.
via المغرد لإعطاء الائتمان له.
فيبر ✔️ ✔️
في كونتاكت ✔️ ✔️ description وصف المنشور.
image رابط صورة لعرضها في المنشور.
ويبو ✔️ ✔️
واتساب ✔️ ✔️
إكسينج ✔️
ياهو ميل ✔️ ✔️

المساهمة

إضافة خدمة بسيطة نسبيًا. ابدأ بإنشاء فئة خدمة جديدة داخل مجلد 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 الأساسي للخدمة. يعتبر هذا العنوان الأساسي أساسيًا عند إنشاء رابط المشاركة ، حيث يتم إلحاق معلمات الاستعلام به. باستخدام Gmail كمثال ، يكون عنوان URL الأساسي له https://mail.google.com/mail/u/0.

$baseParameterMapping

تحدد هذه الحزمة سمتين رئيسيتين: text و url ، نظرًا لانتشارهما في معظم مزودي الخدمة. قم بتعريف هذه السمات فقط إذا كانت الخدمة المعنية تستخدم تعليمات تسمية مختلفة. على سبيل المثال ، يستخدم Gmail body بدلاً من text ، مما يستدعي هذا التعيين الصريح. عند استخدام 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. في المثال الموضح:

دليل الدعم

شكرًا لاختيارك لحزمتنا مفتوحة المصدر! يرجى أن تأخذ لحظة للاطلاع على هذه الإرشادات للدعم. ستساعدك في الاستفادة القصوى من مشروعنا.

الدعم المدعوم من المجتمع

مشروعنا مفتوح المصدر يعتمد على مجتمعنا الرائع. إذا كان لديك أي أسئلة أو تحتاج إلى مساعدة، فإن StackOverflow وغيرها من المصادر عبر الإنترنت هي أفضل خياراتك.

الأخطاء وتحديد أولويات الميزات

حقيقة إدارة مشروع مفتوح المصدر تعني أننا لا يمكننا التعامل مع كل خطأ مبلغ عنه أو طلب ميزة على الفور. نحدد أولوية المشاكل بالترتيب التالي:

1. الأخطاء التي تؤثر على منتجاتنا المدفوعة

سيكون الأخطاء التي تؤثر على منتجاتنا المدفوعة دائمًا أولويتنا العليا. في بعض الحالات، قد نتعامل فقط مع الأخطاء التي تؤثر علينا مباشرة.

2. طلبات السحب من المجتمع

إذا كنت قد حددت خطأ ولديك حلاً، يرجى تقديم طلب سحب. بعد المشاكل التي تؤثر على منتجاتنا، نعطي الأولوية الأعلى لهذه الإصلاحات التي يقودها المجتمع. بمجرد مراجعتها والموافقة عليها، سندمج حلك وننسب مساهمتك.

3. الدعم المالي

بالنسبة للمشاكل خارج الفئات المذكورة، يمكنك اختيار تمويل حلها. يتم ربط كل مشكلة مفتوحة بنموذج طلب حيث يمكنك المساهمة ماليًا. نحدد أولوية هذه المشاكل بناءً على المبلغ المالي المقدم.

مساهمات المجتمع

يزدهر المصدر المفتوح عندما يكون مجتمعه نشطًا. حتى إذا لم تكن تقوم بإصلاح الأخطاء، فكر في المساهمة من خلال تحسينات الشفرة، وتحديثات الوثائق، والبرامج التعليمية، أو بمساعدة الآخرين في قنوات المجتمع. نشجع بشدة الجميع، كمجتمع، على مساعدة دعم العمل المفتوح المصدر.

لتكرار الفكرة، ستعطي DefectiveCode الأولوية للأخطاء بناءً على كيفية تأثيرها على منتجاتنا المدفوعة، طلبات السحب من المجتمع، والدعم المالي المتلقى للمشاكل.

ترخيص - ترخيص MIT

حقوق النشر © Defective Code، شركة ذات مسؤولية محدودة. جميع الحقوق محفوظة.

يتم منح إذن هنا، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به (البرنامج)، للتعامل في البرنامج دون أي قيود، بما في ذلك دون حصر الحقوق في استخدام ونسخ وتعديل ودمج ونشر وتوزيع ومنح ترخيص للأشخاص الذين يتم تزويدهم بالبرنامج للقيام بذلك، على أن تكون مشروطة بالشروط التالية:

يجب تضمين إشعار حقوق النشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.

يتم توفير البرنامج "كما هو"، بدون أي ضمان، صريحًا أو ضمنيًا، بما في ذلك ولكن لا يقتصر على الضمانات التجارية واللياقة لغرض معين وعدم الانتهاك. في أي حالة، لا يتحمل المؤلفون أو حاملو حقوق النشر أي مسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إطار عقد أو تورط أو غير ذلك، ناشئة عن أو في اتصال بالبرنامج أو استخدامه أو غير ذلك.

Link Sharer - Defective Code