akourpro/wheat

Wheat is a PHP library that greatly simplifies code writing for developers. It is characterized by many concise and secure functions.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 1

Forks: 1

Open Issues: 0

pkg:composer/akourpro/wheat

dev-main 2025-11-11 11:34 UTC

README

القمح

القمح هي مكتبة PHP تقوم بتسهيل كتابة الأكواد للمطورين بدرجة كبيرة جدًا، حيث انها تمتاز بوظائف كثيرة ومختصرة وآمنة.

استيراد المكتبة

  • يمكنك تحميل المكتبة من خلال Github مباشرة.
  • او يمكنك تحميلها عبر الأمر التالي
git clone https://github.com/akourpro/wheat.git

الوظائف الرئيسية

مثال: جلب البيانات من قاعدة البيانات:

dbSelect($table, $selects, $where = null, $vars = null)

المدخلات:

  • $table: اسم الجدول المطلوب جلب البيانات منه.
  • $selects: الخلايا المراد جلب بياناتها.
  • $where (اختياري): شرط البحث.
  • $vars (اختياري): متغيرات شرط البحث.

المخرجات:

  • تقوم الدالة بتخزين النتائج في مصفوفة باسم $rows.
  • يتم تخزين عدد الصفوف التي تم ايجادها في متغير باسم $countrows.

كيفية الاستخدام

  1. الاستعلام عن البيانات:
dbSelect($table, $selects, $where = null, $vars = null);

مثال واقعي:

$columns = "column1, column2";
$where = "WHERE name = ?";
$value = ["wheat"];
dbSelect('table', $columns, $where, $value);
  1. إدراج بيانات جديدة:
dbInsert($table, $columns, $vars);

مثال واقعي:

$columns = "name, email, password";
$values = [$name, $email, $password];
dbInsert("users", $columns, $values);
  1. تحديث البيانات:
dbUpdate($table, $columns, $vars, $where = null);

مثال واقعي:

$id = 1;
$columns = "name = ?, email = ?, password = ?";
$values = [$name, $email, $password, $id];
$where = "WHERE id = ?";
dbUpdate("users", $columns, $values, $where);
  1. حذف بيانات:
dbDelete($table, $where = null, $vars = null);

مثال واقعي:

$where = "WHERE name = ?";
$values = ["Akour"];
dbDelete("users", $where, $values);

رفع الملفات

في مكتبة قمح تم تطوير نظام مخصص من أجل التعامل مع الملفات على السيرفر

up($name, $input, $dir, $max_size);
  • المتغير $name = يتم تغيير اسم الملف الاصلي الى الاسم الموجود في هذا المتغير

  • المتغير $input = اسم حقل رفع الملف من نموذج HTML Form (input file)

  • المتغير $max_size = الحجم الأقصى بالميجابايت (للملف)

  • المتغير $dir = مسار الرفع (مكان حفظ الملف في السيرفر)

    توليد رقم عشوائي غير مكرر في قاعدة البيانات

genCode($table, $column, $type, $size);
  • انشاء كود توكن لعملية ما مثلا تحقق بريد او تحقق كلمة سر

  • يقوم الكود انشاء كود جديد ويتأكد هل موجود في قاعدة سابقا ام لا

  • المتغير $size: حجم توكن ممكن 8 او 16 او اكثر حسب صعوبة كلما كان حجم اكثر راح يكون طويل

  • المتغير $table: الجدول الذي تحقق منه

  • المتغير $col: العمود الذي يتحقق منه

  • المتغير $type: يقبل نوعين token,id يمكنك استخدام مولد الكود العشوائي مع وظيفة رفع الملفات

  • حماية المدخلات (النصوص والأرقام)

    يوجد وظيفتين لحماية المدخلات في مكتبة قمح وهي safer وهي تستخدم للنصوص بشكل عام، و numer وهي تستخدم للأرقام حصرًا مثال عليها

    $name = safer($_POST['name']); // لحماية النصوص
    $number = numer($_POST['your_age']); // لحماية الأرقام

    التحققات

    يمكنك التحقق من المدخلات في مكتبة قمح بواسطة الوظيفة check مثال عليها:

    check($var, $type);

    تقوم هذه الوظيفة بالتحقق من نوع المدخلات وتعود بالناتج false في حال كان خطأ

    • المتغير $var: وهو مخصص لاستقبال القيم
    • المتغير $type: وهو لتحديد نوع القيم، وأنواع التحققات في مكتبة قمح هي:
    1. الأرقام ويرمز لها بـ num
    2. البريد الالكتروني، ويرمز له بـ email
    3. النصوص ويرمز لها بـ txt
    4. الحروف العربية ويرمز لها بـ ar
    5. الحروف اللاتينية ويرمز لها بـ en
    6. الروابط ويرمز لها بـ url

    التعامل مع إعدادات الموقع

    • للتعامل مع اعدادات المواقع بواسطة مكتبة قمح، نحن نفترض ان لديك جدول في قاعدة البيانات اسمه settings ويحتوي على 3 خلايا وهي id و name و value حيث ان الخلية name تحتوي على الاسم الذي سيتم التعامل معه بواسطة مكتبة قمح وهي بمثابة key value to array و value هي قيمة هذه المصفوفة
    • للتعامل معها يمكننا استخدام الأمر التالي:
    gsite();

    حيث انه سيقوم بجلب البيانات من قاعدة البيانات

    • ومثال واقعي على أمر انشاء جدول settings في قاعدة البيانات:
    CREATE TABLE settings (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    value TEXT NOT NULL
    );

    التنبيهات

    تستخدم مكتبة قمح تنبيهات Sweet في عمليات الاستعلامات مثال عليها:

    sweet($type, $title, $text, $link = null);

    حيث انها تستقبل منك 3 متغيرات اجبارية وواحد اختياري

    • المتغير $type وهو مخصص لتحديد نوع الاشعار، وهو يستقبل error و success و warning و info و question وهي المستخدمة بشكل افتراضي بواسطة مكتبة SweetAlerts
    • المتغير $title وهو مخصص لتحديد عنوان رئيسي للرسالة
    • المتغير $text وهو مخصص لكتابة نص الرسالة، يمكنك استخدام اكواد HTML
    • المتغير $link وهو اختياري وليس اجباري، وهو لاعادة توجيه المستخدم الى مسار معين بعد عرض الاشعار، يمكنك كتابة كلمة here ليعيد توجيهه الى نفس الصفحة الحالية

    مثال واقعي:

    $type = "error";
    $title = "خطأ";
    $text = "جميع الحقول مطلوبة !";
    sweet($type, $title, $text);

    النهاية

    • هذا الشرح مختصر بشكل كامل وذلك لأجل توضيح الامور الأساسية في هذه المكتبة، لتتعرف على امور أكثر حول هذه المكتبة توجه الى المسار includes/functions.php وستجد عند كل وظيفة شرح عام عنها.
    • او يمكنك مشاهدة احدى الدروس على اليوتيوب

    المتطلبات

    • يتطلب PHP 7.3 أو أحدث.

    المطورين

    تم تطوير هذه المكتبة بواسطة:

    ترخيص

    [GPL]

    المساهمة

    الباب مفتوح لجميع المطورين في المساهمة في تطوير المكتبة، ازرع لك سنبلة مع مكتبة قمح