Abdelrahman Mostafa10 نشر 12 ديسمبر 2023 أرسل تقرير نشر 12 ديسمبر 2023 لدي متغيرات بيانات اعتماد قاعدة البيانات مخزنة في ملف منفصل يسمى config.php: $db_server = 'localhost'; $db_user = 'username'; $db_password = 'secret'; $db_name = 'dbname'; بالإضافة إلى ذلك، لدي فئة PHP تقع في مجلد /class تسمى MysqlCrud.class.php والتي تتعامل مع عمليات CRUD بشكل مثالي: class Database { private $db_host = 'localhost'; // Change as required private $db_user = 'username'; // Change as required private $db_pass = 'secret'; // Change as required private $db_name = 'dbname'; // Change as required } لكن أريد استخدام المتغيرات المركزية المحددة في config.php، لذلك، أضفت الأسطر التالية إلى فئة Database: include('../config.php'); class Database { global $db_server; global $db_user; global $db_password; global $db_name; private $db_host = $db_server; // Change as required private $db_user = $db_user; // Change as required private $db_pass = $db_password; // Change as required private $db_name = $db_name; // Change as required } لكن، حصلت على رسالة الخطأ التالية: Parse error: syntax error, unexpected 'global' (T_GLOBAL), expecting function (T_FUNCTION) in /home/*** on line ** أجد صعوبة في فهم سبب عدم تمكني من الوصول إلى المتغيرات من ملف config.php داخل فئة Database. اقتباس
0 Khaled Osama3 نشر 13 ديسمبر 2023 أرسل تقرير نشر 13 ديسمبر 2023 المشكلة هنا أن كلمة "global" لا يمكن استخدامها داخل الفئات في PHP، لأن global تستخدم لجعل متغير متاح عالميا خارج الفئات. الحل هو استدعاء متغيرات الاتصال بقاعدة البيانات من ملف config.php دون استخدام global: 1. استدعاء ملف config.php كما هو موجود الآن لتضمين المتغيرات: include('../config.php'); 2. استخدم المتغيرات مباشرة دون إضافة كلمة global: class Database { private $db_host; private $db_user; private $db_pass; private $db_name; public function __construct() { $this->db_host = $db_server; $this->db_user = $db_user; $this->db_pass = $db_password; $this->db_name = $db_name; } } بهذه الطريقة سيتم الوصول إلى المتغيرات المعرفة في ملف config.php داخل الفئة دون مشكلة. اقتباس
السؤال
Abdelrahman Mostafa10
لدي متغيرات بيانات اعتماد قاعدة البيانات مخزنة في ملف منفصل يسمى config.php:
بالإضافة إلى ذلك، لدي فئة PHP تقع في مجلد /class تسمى MysqlCrud.class.php والتي تتعامل مع عمليات CRUD بشكل مثالي:
لكن أريد استخدام المتغيرات المركزية المحددة في config.php، لذلك، أضفت الأسطر التالية إلى فئة Database:
لكن، حصلت على رسالة الخطأ التالية:
Parse error: syntax error, unexpected 'global' (T_GLOBAL), expecting function (T_FUNCTION) in /home/*** on line **
أجد صعوبة في فهم سبب عدم تمكني من الوصول إلى المتغيرات من ملف config.php داخل فئة Database.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.