🚀 تخفیف ۳۵٪ + ۳.۵ میلیون هدیه! برنامه‌نویسی رو الان شروع کن - فقط امروز!
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ امیر محمد جوادی
مساله فراخوانی ارایه
جامعه پی اچ پی ایجاد شده در ۰۷ تیر ۱۴۰۲

سلام ودرود

در قسمت ایجاد فایل به مشکل خوردم فایلایجاد میشه اما داخلش خالی هست و با ارور undefine array مواجه میشم ارایه چک میکنم وفیلد‌های ورود ی نامشون درست وارد کردم اما نمیتونه مثل اینکه فراخانی کنه

ممنون میشم یک برسی داشته باشید سورس کد هم براتون میفرستم

سلام،

  1. فایل Exporter.php لاین 14 متد constrcut ابتداش دوتا آندرلاین میگیره، شما یک آندرلاین گذاشتید.
  2. فایل Exporter.php لاین 21 تعریف متد Is_Valid داشتید static رو حذف کنید.
  3. فایل Exportet.php لاین 26 بعد if باید return true هم بنویسید.

تصحیح شده این فایل به این شکل است:

namespace Exporter;
interface Exportable
{
    public function export();
}
abstract class Exporter implements Exportable
{
    protected $format;
    protected $data;
    public function __construct($data)
    {
        $this->data = $data;
        if (!$this->is_valid()) {
            die("Invalid Data!");
        }
    }
    public function is_valid()
    {
        foreach ($this->data as $field) {
            if (empty($field)) {
                return false;
            }
        }
        return true;
    }
}

در ضمن فایل index.php لاین 97 تگ سلکت PDF رو از disabled خارج کنید اگر میخواهید فرم رو روی این انتخاب ارسال کنید و disabled باشد، مقدار خالی میمونه و خطای Undefined میگرید. action فرم رو هم باید process.php بذارید.

سورس پروژه هم قرار گرفته میتونید کمک بگیرید.

محسن موحد ۰۷ تیر ۱۴۰۲، ۲۲:۰۹

محسن جان خیلی ازت ممنونم

فقط تو قسمت دئوم که گفتی استاتیک برداریم دلیلش چی هست ؟

و مورد سوم هم که فرمودی ریترن ترو هم اضافه کنیم دلیلش چی هست

امیر محمد جوادی ۰۹ تیر ۱۴۰۲، ۱۶:۱۷

از $this نمیتونید داخل متد static استفاده کنید.

اون متد یا باید return true کنه یا return false تا بتونید داخل if چک کنید. return false رو نوشتید ولی return true رو نه.

محسن موحد ۰۹ تیر ۱۴۰۲، ۱۶:۲۸