المكتبة القياسية للغة PHP: نظرة شاملة
PHP هي واحدة من أشهر لغات تطوير الويب، وتكمن قوتها إلى حد كبير في مكتبتها القياسية الغنية (Standard PHP Library, SPL). على عكس العديد من اللغات حيث المكتبة القياسية هي مجرد مجموعة من الأدوات الأساسية، تتضمن PHP مئات الدوال والفئات الجاهزة التي تغطي جميع احتياجات مطور الواجهة الخلفية تقريبًا. في هذه المقالة، سنقدم نظرة شاملة على المكونات الرئيسية للمكتبة القياسية للغة PHP، مع أمثلة على الكود وتوصيات عملية.
1. التعامل مع المصفوفات (Array Functions)
المصفوفات هي أساس PHP. توفر المكتبة القياسية عشرات الدوال لمعالجتها:
array_map()— تطبق دالة رد اتصال على جميع عناصر المصفوفةarray_filter()— تقوم بتصفية العناصر وفقًا لشرطarray_reduce()— تختزل المصفوفة إلى قيمة واحدةarray_merge()— تدمج عدة مصفوفاتarray_diff()وarray_intersect()— مقارنة المصفوفات
<?php$numbers = [1, 2, 3, 4, 5];$squared = array_map(fn($n) => $n * $n, $numbers);$even = array_filter($numbers, fn($n) => $n % 2 === 0);$sum = array_reduce($numbers, fn($carry, $n) => $carry + $n, 0);print_r($squared); // [1, 4, 9, 16, 25]print_r($even); // [2, 4]echo $sum; // 15?>2. دوال السلاسل النصية (String Functions)
تقدم PHP مجموعة قوية للتعامل مع السلاسل النصية:
strlen(),strpos(),substr()— العمليات الأساسيةstr_replace(),preg_replace()— استبدال السلاسل الفرعيةexplode()وimplode()— التقسيم/الدمجtrim(),htmlspecialchars()— تنظيف البيانات
<?php$text = " Hello, PHP World! ";$clean = trim($text);$parts = explode(", ", $clean);echo $parts[0]; // Helloecho str_replace("World", "Universe", $clean); // Hello, PHP Universe!?>3. التعامل مع التواريخ والوقت (DateTime)
الفئة DateTime ومشتقاتها حلت بالكامل محل الدوال القديمة date():
DateTime::createFromFormat()— تحليل السلاسل النصيةDateInterval— التعامل مع الفترات الزمنيةDatePeriod— التكرار عبر نطاق من التواريخ
<?php$now = new DateTime('now');$birthday = new DateTime('2025-05-15');$interval = $now->diff($birthday);echo $interval->days . " يومًا حتى عيد الميلاد";?>4. نظام الملفات (Filesystem Functions)
توفر المكتبة القياسية للغة PHP مجموعة كاملة للتعامل مع الملفات والدلائل:
file_get_contents(),file_put_contents()— القراءة/الكتابة السريعةfopen(),fwrite(),fclose()— التعامل على مستوى منخفضscandir(),mkdir(),unlink()— إدارة الدلائلis_file(),is_dir(),file_exists()— التحقق
<?php$content = file_get_contents('data.txt');file_put_contents('backup.txt', $content);$files = array_diff(scandir('./uploads'), ['.', '..']);?>5. التعامل مع قواعد البيانات (PDO - PHP Data Objects)
PDO هي واجهة عالمية للتعامل مع أنظمة إدارة قواعد البيانات المختلفة (MySQL, PostgreSQL, SQLite):
- الاستعلامات المحضرة (prepared statements) — الحماية من حقن SQL
- المعاملات مع دعم commit/rollback
- API موحد لقواعد البيانات المختلفة
<?php$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');$stmt = $pdo->