الوصول إلى قاعدة البيانات من bootstrap.php في cakephp

StackOverflow https://stackoverflow.com/questions/1186360

  •  19-09-2019
  •  | 
  •  

سؤال

هل هناك أي طريقة قياسية للوصول إلى قاعدة البيانات في ملف bootstrap.php مع CakePhp؟

على وجه التحديد، أريد تعيين "putenv ()" إلى منطقة زمنية مخزنة في قاعدة البيانات. هل هناك طريقة أخرى لتحقيق نفس الشيء الذي يجب أن أستخدمه بدلا من ذلك؟

شكرا.

هل كانت مفيدة؟

المحلول

لا أعتقد أنه من الجيد الوصول إلى قاعدة البيانات في Bootstrap. لا يمكنك استخدام الطرز لأنها لم تتم تهيئتها بعد. أعتقد أنه يمكنك استخراج بيانات الاتصال وتهيئة استعلامات الاتصال وتشغيلها باستخدام PHP mysql_* ولكن هذا شيء قبيح.

ومع ذلك، إذا كنت بحاجة إلى تشغيل إجراء معين في كل مرة يتم الوصول إليها، فسوف أقترح تقديمه AppController البناء (__construct وظيفة).

class AppController extends Controller {
    public function __construct() {
        // do your magic here

        // call parent constructor
        parent :: __constructor();
    }
}

class YourSpecificController extends AppController {
    public function __construct() {
         // call parent contructor (this) will cause your magic happen
         parent :: __constructor();

         // extra controller initialization instructions
    }
}

إذا كنت لا تعلن منشئا في تمديد الفصل فلن تضطر إلى تغيير أي شيء نظرا لأن PHP سيتصل بالوالة تلقائيا (AppController) البناء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top