سؤال

أحاول التنفيذ امتدادات وحدات في إعداد codeigniter 2 لكنني أواجه بعض المشاكل. تابعت تعليمات التثبيت على الويكي وكان كل شيء يعمل بشكل جيد. ثم بدأت ألعب قليلاً وأحاول استخدامه. كل ما فعلته هو إنشاء وحدة جديدة تسمى المستخدمين مع المجلدات المطلوبة وإضافة فئة نموذجية تسمى user_m. ثم حاولت تحميل هذا من وحدة تحكم وحدة الترحيب الخاصة بي. وفقا للويكي يجب أن يكون هذا واضحا جدا. لقد أضفت هذا الخط ببساطة

$this->load->model('users/users_m');

إلى مُنشئ وحدة تحكم الترحيب الخاصة بي.

لسوء الحظ في هذه المرحلة ، أحصل على الشاشة البيضاء للموت.

لذلك جربت شيئًا آخر. هذه المرة أزلت خط طراز التحميل وأضفت

$this->output->enable_profiler(TRUE);

هذه المرة حصلت على صفحة الترحيب معروضة وحصلت على البروفيلر ، لكن في الجزء العلوي من الصفحة ، حصلت على هذا الخطأ:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: CI::$profiler

Filename: MX/Loader.php

Line Number: 145

لا أعرف ما إذا كانت هاتان المحاولتان مرتبطتان أم لا ، ولكن من الواضح أن هناك شيئًا غير صحيح مع الإعداد الخاص بي. يمكن أن تشير لي أحدهم في الاتجاه الصحيح؟

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

المحلول

إذا قمت بالوصول إلى النموذج من وحدة التحكم في نفس الوحدة ، فيمكنك تحميله باستخدام فقط:

$this->load->model(‘user_m’);

عليك فقط القيام به $this->load->model(‘module/model_name’); عند التحميل المتقاطع بين الوحدات النمطية.

فقط للتأكد من أن نموذجك يقع هنا بشكل صحيح؟

application/modules/users/models/users_m.php

أما بالنسبة لخطأ البروفيلر:
1) هل قمت بالتثبيت الخطوة 5 ووضع الملفات الأساسية المعيارية في التطبيق/الأساس؟
2) هل لديك أحدث إصدار من HMVC؟ كانت هناك تحديثات لـ MX/Loader.php في اليومين الماضيين.

ملاحظة. برنامج تعليمي رائع على HMVC: http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/

نصائح أخرى

إذا كان لديك بنية مجلد مثل:

application/
           modules/
                  users/
                       models/
                             users_m.php

ثم استخدم هذا للاتصال بالموديلات التي تحكمها

$this->load->model('users/users_m','',TRUE);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top