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

المقدمة

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

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

المثال

<x-link-sharer service="twitter" text="شارك معي!" url="https://www.defectivecode.com" hashtags="رائع,روابط" class="p-4">
<!-- كود HTML الخاص بك هنا للتحكم في شكل وزيارة زر المشاركة -->
<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.

الخدمات

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

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

الخدمة النص المدعوم عنوان URL المدعوم ملاحظات
بلوجر ✔️ ✔️ t نص منشور المدونة.
دياسبورا ✔️ ✔️
دييغو ✔️ ✔️ description وصف لإضافته إلى المنشور.
دوغان ✔️ ✔️ comment تعليق لإضافته إلى المنشور.
إيفرنوت ✔️ ✔️
فيسبوك ✔️
فليب بورد ✔️ ✔️ quote اقتباس لإضافته إلى المنشور.
جيميل ✔️ ✔️ bcc قائمة عناوين البريد الإلكتروني التي سيتم إرسال نسخة كربونية مخفية إليها، مفصولة بفواصل.
cc قائمة عناوين البريد الإلكتروني التي سيتم إرسال نسخة منها إليها، مفصولة بفواصل.
su موضوع البريد الإلكتروني.
to قائمة عناوين البريد الإلكتروني لإرسال إليها، مفصولة بفواصل.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description وصف للمنشور.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
مينيامي ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media عنوان URL لصورة لعرضها في المنشور.
Plurk ❌️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary ملخص للمنشور.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description وصف للمنشور.
srcUrl عنوان URL الأصلي للمنشور.
Skype ✔️ ✔️
Telegram ✔️ ✔️
ثريما ✔️ id هوية الشخص الذي سيتم إرسال المنشور إليه.
Tumblr ✔️ ✔️ caption تعليق لإضافته إلى المنشور.
tags قائمة مفصولة بفواصل من العلامات تضاف إلى المنشور.
تويتر ✔️ ✔️ hashtags قائمة مفصولة بفواصل من الوسوم التي ستضاف إلى التغريدة.
via تويتر الذي يجب إعطاء الائتمان له.
فايبر ✔️ ✔️
فكونتاكت ✔️ ✔️ description وصف للمنشور.
image عنوان URL لصورة لعرضها في المنشور.
ويبو ✔️ ✔️
واتساب ✔️ ✔️
زينغ ✔️
ياهو ميل ✔️ ✔️

المساهمة

إضافة خدمة هي عملية بسيطة نسبيًا. ابدأ بإنشاء فئة خدمة جديدة داخل مجلد src/Services. سمِّ الفئة باسم الخدمة التي تضيفها. يقوم النظام بتسجيل الخدمة تلقائيًا من خلال المصنع، لذلك لا حاجة لتسجيل يدوي.

تعمل خدمة جيميل الموضحة أدناه كمثال جيد.

<?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://forward.

خاصية baseUrl تحدد URL الأساسي للخدمة. يعد هذا العنوان أساسيًا عند إنشاء رابط المشاركة، حيث يتم إلحاق معلمات الاستعلام به. كأمثلة، عنوان URL الأساسي لجيميل هو https://mail.google.com/mail/u/0.

$baseParameterMapping

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

$additionalParameters

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

$defaultParameters

تتطلب بعض الخدمات معلمات استعلام معينة حتى تعمل رابط المشاركة. على سبيل المثال، يتطلب جيميل تضمين 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 License

حقوق الطبع والنشر © Defective Code, LLC. جميع الحقوق محفوظة

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

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

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