<![CDATA[
ما هي إضافات PHP؟
إضافات PHP هي عبارة عن وحدات برمجية مكتوبة بلغات مثل C أو C++، وتُضاف إلى نواة PHP الأساسية لتوسيع وظائفها. تقوم هذه الإضافات بتوفير وظائف جديدة، فئات، وثوابت يمكن للمطورين استخدامها في شيفراتهم. تتيح الإضافات لـ PHP التعامل مع مهام متنوعة، بدءًا من معالجة النصوص والتعامل مع قواعد البيانات وصولًا إلى إنشاء الرسومات وإدارة الملفات.
تُعرف الإضافات أيضًا باسم “modules”. يمكن للمطورين تثبيت وتفعيل الإضافات المطلوبة فقط، مما يساعد في الحفاظ على حجم الكود نظيفًا وتحسين أداء التطبيقات. يمكن أن تكون الإضافات جزءًا من توزيعة PHP الأساسية، أو يمكن تثبيتها بشكل منفصل من خلال أدوات مثل PECL (PHP Extension Community Library).
أهمية إضافات PHP
تعتبر إضافات PHP ضرورية لتطوير تطبيقات ويب قوية وفعالة. إليك بعض الأسباب التي تبرز أهميتها:
- توسيع الوظائف: توفر الإضافات مجموعة واسعة من الوظائف الإضافية التي لا تتوفر في نواة PHP الأساسية.
- تحسين الأداء: يمكن للإضافات المكتوبة بلغات منخفضة المستوى مثل C أن تحسن بشكل كبير أداء بعض العمليات بالمقارنة مع كتابتها بلغة PHP نفسها.
- دعم التكنولوجيا: توفر الإضافات دعمًا للتكنولوجيات الحديثة مثل قواعد البيانات، بروتوكولات الشبكات، وواجهات برمجة التطبيقات (APIs).
- تسهيل التطوير: تسهل الإضافات على المطورين القيام بمهام معقدة من خلال توفير واجهات سهلة الاستخدام.
قائمة بإضافات PHP
فيما يلي قائمة بالإضافات الرسمية الموثقة لـ PHP، مع بعض المعلومات الأساسية حول كل منها:
- .NET: تسمح هذه الإضافة بالتواصل مع خدمات Microsoft .NET.
- Apache: توفر وظائف للتعامل مع خادم الويب Apache.
- BCMath: توفر وظائف للعمليات الحسابية ذات الدقة العالية. تُستخدم بشكل خاص في العمليات المالية والرياضية التي تتطلب دقة كبيرة.
- Brotli: تستخدم لضغط البيانات وفك ضغطها باستخدام خوارزمية Brotli. تُستخدم لتحسين سرعة تحميل صفحات الويب.
- Bz: توفر وظائف لضغط وفك ضغط الملفات باستخدام خوارزمية Bzip2.
- Calendar: توفر وظائف للتعامل مع التقويمات المختلفة.
- Core: مجموعة أساسية من الوظائف التي تكون موجودة دائمًا في PHP. تشمل هذه الوظائف العمليات الأساسية مثل التعامل مع السلاسل والمتغيرات والملفات.
- Ctype: توفر وظائف لفحص خصائص الأحرف، مثل ما إذا كانت حرفًا أو رقمًا أو مسافة بيضاء.
- Curl: توفر وظائف لإجراء طلبات HTTP باستخدام مكتبة libcurl. تُستخدم للاتصال بخدمات الويب وواجهات برمجة التطبيقات.
- Date: توفر وظائف للتعامل مع التواريخ والأوقات.
- Dom: توفر واجهات للتعامل مع مستندات XML باستخدام واجهة برمجة تطبيقات DOM.
- Enchant: توفر وظائف للتحقق من الإملاء.
- Exif: توفر وظائف لقراءة البيانات الوصفية من ملفات الصور (EXIF).
- FFI: واجهة خارجية للوظائف الخارجية. تسمح باستدعاء وظائف مكتوبة بلغات أخرى مثل C.
- Fileinfo: توفر وظائف لتحديد نوع الملف بناءً على محتواه.
- Filter: توفر وظائف لتصفية وتنظيف بيانات الإدخال.
- Fpm: (FastCGI Process Manager) هو مدير عمليات FastCGI لـ PHP. يُستخدم لتحسين أداء خوادم الويب التي تستخدم PHP.
- Gd: توفر وظائف لإنشاء ومعالجة الصور.
- Gettext: توفر وظائف لدعم الترجمة متعددة اللغات.
- Gmp: توفر وظائف للعمليات الحسابية ذات الأعداد الصحيحة الكبيرة.
- Hash: توفر وظائف لتوليد قيم التجزئة (hashes).
- Horde: توفر مكتبة Horde لـ PHP مجموعة متنوعة من الأدوات للمطورين.
- Iconv: توفر وظائف لتحويل ترميز الأحرف.
- Imagick: توفر واجهات للتعامل مع الصور باستخدام مكتبة ImageMagick.
- Imap: توفر وظائف للتعامل مع بروتوكول IMAP للبريد الإلكتروني.
- Intl: توفر وظائف لدعم التدويل (i18n) والعولمة (g11n).
- Json: توفر وظائف للعمل مع بيانات JSON.
- LDAP: توفر وظائف للتعامل مع خوادم LDAP.
- Libxml: توفر وظائف لمعالجة مستندات XML.
- Mbstring: توفر وظائف للتعامل مع السلاسل متعددة البايت.
- Memcached: توفر واجهات للعمل مع خوادم Memcached.
- Meta: توفر وظائف للبيانات الوصفية.
- Mhash: توفر وظائف لتوليد قيم التجزئة.
- Mongo: (تم إيقاف استخدامه) يوفر وظائف للتعامل مع قاعدة بيانات MongoDB. تم استبداله بـ MongoDB PHP Driver.
- Msxml: توفر وظائف لمعالجة مستندات XML باستخدام واجهة برمجة تطبيقات MSXML (خاص بنظام التشغيل Windows).
- Mysql: (تم إيقاف استخدامه) توفر وظائف للتعامل مع خوادم MySQL. تم استبداله بـ MySQLi و PDO_MySQL.
- Mysqli: توفر وظائف مُحسّنة للتعامل مع خوادم MySQL.
- Ncurses: توفر واجهات للعمل مع شاشة المستخدم النصية.
- Opcache: تعمل على تحسين أداء PHP عن طريق تخزين الكود المترجم في الذاكرة المؤقتة.
- OpenSSL: توفر وظائف لتشفير البيانات وشهادات SSL/TLS.
- pcntl: توفر وظائف للتحكم في العمليات المتزامنة (multitasking).
- Pcre: توفر وظائف للتعبيرات النمطية (regular expressions).
- PDO: (PHP Data Objects) توفر واجهة عامة للوصول إلى قواعد البيانات المختلفة.
- PDO_ODBC: توفر واجهات للوصول إلى قواعد البيانات عبر بروتوكول ODBC.
- PDO_OCI: توفر واجهات للوصول إلى قاعدة بيانات Oracle.
- PDO_PGSQL: توفر واجهات للوصول إلى قاعدة بيانات PostgreSQL.
- PDO_SQLITE: توفر واجهات للوصول إلى قاعدة بيانات SQLite.
- Phar: توفر وظائف لإنشاء وتعبئة التطبيقات في ملفات أرشيف.
- Phpdbg: مصحح أخطاء PHP.
- Php_codesniffer: إضافة للتحقق من جودة كود PHP.
- Posix: توفر وظائف للوصول إلى وظائف نظام التشغيل POSIX.
- Pspell: توفر وظائف للتحقق من الإملاء.
- Readline: توفر وظائف للتعامل مع إدخال سطر الأوامر.
- Reflection: توفر وظائف للتحليل الذاتي للكود.
- Redis: توفر واجهات للعمل مع قاعدة بيانات Redis.
- Session: توفر وظائف للتعامل مع الجلسات.
- Shmop: توفر وظائف للعمل مع الذاكرة المشتركة.
- Simplexml: توفر واجهات لتبسيط التعامل مع مستندات XML.
- Soap: توفر وظائف للتعامل مع خدمات الويب SOAP.
- Sockets: توفر وظائف للعمل مع مقابس الشبكة.
- Spl: (Standard PHP Library) توفر فئات وواجهات قياسية.
- Sqlite3: توفر وظائف للتعامل مع قاعدة بيانات SQLite 3.
- Ssh2: توفر وظائف للاتصال الآمن عبر SSH.
- Standard: مجموعة أساسية من الوظائف القياسية في PHP.
- Streams: توفر وظائف للعمل مع التدفقات (streams).
- Sysvmsg: توفر وظائف للعمل مع رسائل System V IPC.
- Sysvsem: توفر وظائف للعمل مع إشارات System V IPC.
- Sysvshm: توفر وظائف للعمل مع الذاكرة المشتركة System V IPC.
- Tidy: توفر وظائف لتنظيف وتنسيق كود HTML و XML.
- Tokenizer: توفر وظائف لتقسيم كود PHP إلى رموز.
- Uploadprogress: توفر وظائف لتتبع تقدم تحميل الملفات.
- Uuid: توفر وظائف لتوليد معرّفات فريدة عالميًا (UUIDs).
- Wddx: توفر وظائف للعمل مع تنسيق WDDX.
- XML: توفر وظائف للتعامل مع مستندات XML.
- Xmlreader: توفر واجهات لقراءة مستندات XML.
- Xmlrpc: توفر وظائف للعمل مع بروتوكول XML-RPC.
- Xmlwriter: توفر واجهات لكتابة مستندات XML.
- Xsl: توفر وظائف لتحويل مستندات XML باستخدام XSLT.
- Zend opcache: إضافة لتحسين أداء PHP عن طريق تخزين الكود المترجم مؤقتًا.
- Zip: توفر وظائف لضغط وفك ضغط الملفات باستخدام تنسيق ZIP.
- Zlib: توفر وظائف لضغط وفك ضغط البيانات باستخدام مكتبة Zlib.
- zookeeper: توفر واجهات للعمل مع Apache ZooKeeper.
كيفية تثبيت إضافات PHP
تختلف عملية تثبيت إضافات PHP حسب نظام التشغيل والبيئة التي تستخدمها. بشكل عام، هناك طريقتان رئيسيتان:
- من خلال PECL: PECL (PHP Extension Community Library) هو مستودع للإضافات. يمكنك استخدام أداة `pecl` لتثبيت الإضافات بسهولة. على سبيل المثال، لتثبيت إضافة `gd`، يمكنك استخدام الأمر: `pecl install gd`.
- من خلال مدير الحزم: بعض الإضافات يمكن تثبيتها مباشرة من خلال مدير الحزم الخاص بنظام التشغيل. على سبيل المثال، في Ubuntu، يمكنك استخدام `apt-get`، وفي CentOS، يمكنك استخدام `yum`.
بعد تثبيت الإضافة، يجب عليك تفعيلها في ملف `php.ini`. عادةً ما يتم ذلك عن طريق إضافة سطر مثل `extension=gd` إلى ملف `php.ini` (تأكد من تغيير الاسم وفقًا للإضافة التي تقوم بتثبيتها). بعد ذلك، يجب عليك إعادة تشغيل خادم الويب لتطبيق التغييرات.
نصائح للاختيار بين الإضافات
عند اختيار الإضافات التي تريد استخدامها، ضع في اعتبارك النصائح التالية:
- الضرورة: اختر الإضافات التي تحتاجها فقط. قد يؤدي تثبيت عدد كبير من الإضافات غير المستخدمة إلى إبطاء أداء التطبيق.
- الأداء: فكر في أداء الإضافة. قد تكون بعض الإضافات أكثر كفاءة من غيرها. ابحث عن المقارنات بين الإضافات المختلفة قبل الاختيار.
- التوافق: تأكد من توافق الإضافة مع إصدار PHP الذي تستخدمه.
- الأمان: تحقق من سمعة الإضافة وأمانها قبل استخدامها. ابحث عن أي ثغرات أمنية معروفة.
- التحديثات: اختر الإضافات التي يتم تحديثها بانتظام لضمان الحصول على أحدث الإصلاحات الأمنية والتحسينات.
الخلاصة
خاتمة
تعتبر إضافات PHP أدوات أساسية لتوسيع وظائف PHP وتمكين المطورين من بناء تطبيقات ويب قوية ومتنوعة. من خلال فهم الإضافات المتاحة وكيفية تثبيتها واستخدامها، يمكن للمطورين الاستفادة القصوى من PHP. تذكر دائمًا اختيار الإضافات التي تحتاجها فقط، والتحقق من توافقها وأمانها، والبحث عن التحديثات لضمان أفضل أداء وأمان.