سؤال

أنا فقط ترقية من ZF 1.7 إلى ZF 1.9، و تقريبيا كل شيء يعمل بشكل جيد ... باستثناء Autoloader.

عمر او قديم:

require_once('Zend/Loader.php');  
Zend_Loader::registerAutoload();

جديد:

require_once 'Zend/Loader/Autoloader.php';  
$loader = Zend_Loader_Autoloader::getInstance();  
$loader->registerNamespace('MySiteName_');
$loader->setFallbackAutoloader(true);

تعد الملفات التي أحتاجها إلى الحمل التلقائي في الغالب غير مسبوقة (لأنه مشروع كبير من الأسماء المسبق). هم في الدلائل التالية:

  • / تطبيق / وحدات التحكم
  • / مشترك / نماذج
  • /مكتبة
  • /بائع

يبدو أن الموقع يعمل بشكل جيد إلا أنه لا يمكن العثور عليه / library/form.php
اعتاد أن تكون قادرا على ذلك، ولكن ليس بعد الآن. إنه يعمل إذا أضفت "مكتبة / form.php" containce "، لكن لا ينبغي أن يكون ذلك ضروريا، وأنا قلق من أنه إذا بدأت في القيام بذلك في بعض الأماكن، فسأحتاج إلى التخلي عن AutoLoader و Hard-Code جميعها تشمل. اعتقدت إضافة "setfallbackautoloader (true)"، جنبا إلى جنب مع وجود "مكتبة" في مسار بلدي الأدرج سيصلحها، لكنها لم تفعل ذلك.

مسار بلدي المدرج هو:
.: / المستخدمين / LOFYE / الوثائق / HTDocs / MySitename / البائع
: / المستخدمون / LOFYE / الوثائق / HTDocs / MySitename / Common
: / المستخدمون / lofye / المستندات / htdocs / mysitename / common / models
: / المستخدمين / LOFYE / الوثائق / HTDocs / mysitename / المكتبة
: / المستخدمون / lofye / المستندات / htdocs / mysitename

أي مساعدة في تقدير كبير!

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

المحلول

قلت إنها تعمل إذا قمت بذلك:

require_once 'library/Form.php';

ولكن، إذا تم تضمين مسار مكتبة الخاص بك، فيجب أن تكون تحيز، كما يفعل التحميل التلقائي، مثل هذا:

require_once 'Form.php';

حاول كتابة الكتابة "form.php"؛ في البرنامج النصي الخاص بك. هل القصف؟ بعد ذلك، لا يحتوي / مكتبة Article Path، وستحتاج إلى إصلاحه.

نصائح أخرى

AutoLoader الخاص بك سوف يحاول فقط تحميل فئات تبدأ مع MySiteName_. وبعد حاول إضافة Form كمساحة اسم ربما؟

$loader->registerNamespace('Form');

اسم الفصل داخل الملف library/Form.php يجب ان يكون Form. وبعد ما اسم الفصل الخاص بك؟

لقد اختبرت هنا وهي تعمل بشكل جيد.

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