با اجرای پروژه در مورد متغییر folders یک پیغام اخطار(foreach() argument must be of type array|object, null given in)نمایش داده میشه و سریع حذف میشه و پیغام اخطار میگه متغیر بایستی از نوع آرایه و یا آبجکت باشه برای تست از یک شرط استفاده کرده :
سلام هادی عزیز
همونطور که گفتی این خطا برای این هست که متغیر folders نال هست.
یک دامپ در بیرون شرط ازش بگیرید و بررسی کنید که مقدارش درست ست شده یا نه.
اُوژن ملکیان۱۳ مرداد ۱۴۰۲، ۰۶:۱۹
انجام دادم مقدارش درسته اما همچنان پیغام خطا یک لحضه نمایش داده میشه و میره.
ارشیا سیف۱۳ مرداد ۱۴۰۲، ۰۶:۳۷
پروژه رو در گیت قرار بدید بررسی کنم سورستون رو.
چون این بخش فقط حلقه شما هست و باید بقیه موارد بررسی شه.
اُوژن ملکیان۱۳ مرداد ۱۴۰۲، ۰۶:۴۴
سورس پروژه خدمت شما
ارشیا سیف۱۳ مرداد ۱۴۰۲، ۰۶:۵۸
هادی عزیز
در فایل init.php شما tpl-index رو نباید اینکلود کنید.
به خاطر همین ابتدا در اینیت اینکلود میشه و متغیر فولدر پیدا نمیشه و بعد در اینکلود فایل ایندکس مجدد ست میشه.
اُوژن ملکیان۱۳ مرداد ۱۴۰۲، ۰۷:۲۴
سپاس
مشکلم برطرف شد اگر امکان داره کمی بیشتر در این مورد توضیح بدین. لطفا
ارشیا سیف۱۳ مرداد ۱۴۰۲، ۰۷:۳۸
کاربر وقتی آدرس رو میزنه شروع پروژه از فایل ایندکس هست.
شما در فایل ایندکس اومدید فایل init رو اینکلود کردید و اون فایل اجرا میشه.
در فایل اینیت هم اومدید قالب ایندکس رو اینکلود کردید پس میاد اون قالب رو نشون میده اما چون متغیر فولدر ست نشده خطا میده که متغیر وجود نداره.
حالا لاین اینکلود فایل اینیت تموم شد و میره سراغ ادامه کدهای ایندکس.
در ادامه اومدید متغیر فولدر رو ایجاد کردید و مجدد اینکلود رو انجام دادید و مجدد میاد قالب ایندکس رو اینکلود میکنه منتها این دفعه از فایل ایندکس هست و متغیر ست شده و خطا نمیگیره.
تنها نکته ای که باید دقت کنید اینه که کدها خط به خط از فایل index.php شروع به اجرا میشن و با اینکلود کردن محتوای فایل اینکلود شده درون همون فایل قرار میگیره.