تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در auto load
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
دارم از کلاس adodb استفاده میکنم تو پروژم ولی نمیتونم این کلاس رو اتولود کنم چون اسم فایل ها با اسم کلاسهاش فرق داره
راهی هست برای رفع این مشکل؟
توی یه پوشه به اسم lib بگذارین adodb رو و براش یه Autoload با توجه با ساختار اسم کلاسها و فایلهای داخلش بنویسید و با spl_autoload_register اون رو معرفی کنید.
چون دوتا اتولود دارم مقدارو اول میده به تابعی که قبلا معرفی ردم و مسلما پیدا نمی کنه و ارور میده دیگه به تابع دوم اتولودم نمیرسه که مقدار بده
دوتا رو ترکیب کنید. توی متدتون با file_exists چک کنید اگه تو مسیر اول نبود، توی مسیر دوم بگرده و بعد خطا بده.
اسم کلاس ها با نام فایلهاشون فرق داره و به یه شکل هم نیست که بشه یه پترنی چیزی براش تعریف کرد
چیز دیگه ای نیست بشه باهاش کار کرد؟
تا جایی که دیدم، برای مثال کلاس ADODB_Active_Record توی فایل adodb-active-record.inc.php هست. فکر میکنم اگه اسم کلاس رو به حروف کوچک تبدیل کنید و بجای _ از - استفاده کنید و inc.php. هم به آخرش اضافه کنید، مشکل حل بشه.
این کارو کردم ولی چون داخل خودش از کلاسهای دیگه ای هم استفاده میکنه که اسم اونها فرق داره اونجا به مشکل بر میخورم
اون کلاسهارو نمیتونه پیدا کنه
فکر میکنم اگه فایلها رو دستکاری کنین تا با استاندارد PSR-0 و PSR-4 سازگار بشه، به خیلیهای دیگه هم کمک میکنید. ساختارش واقعاً بهم ریخته است متأسفانه.