نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل صدا زدن کنترلر از داخل ویو و یغام خطای fatal error

  1. #1

    مشکل صدا زدن کنترلر از داخل ویو و یغام خطای fatal error

    سلام دوستان
    وقت بخیر
    من تازگی از یه سری ویدیو اموزش php mvc دارم میبینم ، توی یه مرحله ای گیر کردم و دیگه نمیتونم جلو برم ممنون میشم رهنمایی کنید. خطای زیر رو دارم
    ( ! ) Fatal error: Class 'Controller' not found in C:\wamp\www\salah\controllers\register.php on line 4

    از توی view با دستور form طبق زیر میخوام به کنترلر برم .
    ویو:

    <form action=" http://127.0.0.1/salah/controllers/register/checkUser" method="post" name="form">


    کنترلر:
    <?php
    class register extends Controller
    {

    function __construct()
    {

    }


    function index()
    {
    echo 'qqq';
    }

    function checkUser()
    {

    }
    }


    ?>


    اینم controller اصلی که توی core هست

    <?php

    class Controller
    {

    function __construct()
    {
    }

    function view($viewurl,$data=[],$noIncludeHeader='',$noIncludeFooter='')
    {
    // echo $viewurl;
    if ($noIncludeHeader=='') {
    require('header.php');
    }
    require('views/' . $viewurl . '.php');
    if ($noIncludeFooter==''){
    require('footer.php');
    }

    }

    function model($modelUrl)
    {
    require ('models/model_'.$modelUrl.'.php');
    $classname='model_'.$modelUrl;
    //این property اینجا ساختی جاهای دیگه ازش استفاده میکنی
    $this->model=new $classname;
    }
    }

    ?>

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: مشکل صدا زدن کنترلر از داخل ویو و یغام خطای fatal error

    خطی که اررور میده رو نزاشتی ولی مشخصا داره میگه کلاس Controller توی فایل register.php تعریف نشده
    شما یا باید کلاست تو اون فایل تعریف شده باشه یا اینکه اگه تو فایل دیگری تعریف شده اون فایل دیگر رو اینکلود کنی توی فایلی که صداش میزنه

    معمولا تو mvc یک فایل index.php وجود داره که درخواست ها به اون فرستاده میشه و اون کنترلر رو صدا میزنه و کنترلر هم ویو رو لود میکنه از اونجایی که این فایل ها همه توی یک درخواست لود میشن (حالا به شکل اینکلود کردن یا روش های مشابه ) این مشکلی که شما داری پیش نمیاد
    و البته منطق mvc هم شما نباید اصلا از توی ویو بیای کنترلر رو فراخوانی کنی معنی نداره اینکار ... قبل از لود شدن ویو درخواست به کنترلر میره و اونجا هرکاری لازمه انجام میشه و بعد ویو فراخانی میشه
    ویو فقط برای نمایش داده هاست و فراخوانی کنترلر و صدا زدن توابع نباید انجام بشه از توی ویو

  3. #3

    نقل قول: مشکل صدا زدن کنترلر از داخل ویو و یغام خطای fatal error

    سلام
    ممنون از پاسختون
    خطی که خطا میده همون فایل register که توی خطا هست ،


    <?phpclass register extends Controller{ function __construct() { } function index() { echo 'qqq'; } function checkUser() { }} ?>

    خط چهارم بالا رو توی پیغام خطا نوشته.

    اینکه فرمودین باید include کنم مگه وقتی extends کردم از کلاس کنترلر اصلی کافی نیست ، با توجه به اینکه extends کردم من از کلاس register حتی میتونم به متد های کنترلر دسترسی داشته باشم و مشخصه extend کار میکنه ولی خوب نمیدونم کافیه یا نه .
    در مورد بخش دوم راهنماییتون ، کاملا حق با شماست که از ویو نباید به کنترلر برم ، ولی خوب صفحه رجستر هست ، وقتی کاربر اطلاعات فردیشو میزنه که ثبت نام کنه توی سایت ، از ویو میخوام برم کنترلر که از کنترلر به مودل که توی دیتابیس ثبتش کنم ، منطق شما برام درسته ولی راه حل دیگه ای نمیتونم توی ذهنم تصور کنم

  4. #4
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: مشکل صدا زدن کنترلر از داخل ویو و یغام خطای fatal error

    فایل php از محیط بیرونش خبر نداره و نمیدونه چه فایل هایی بیرون هستن
    extend کردن کافی نیست باید اون به اون کلاسی که اکستند میشه هم دسترسی داشته باشه از طریق اینکلود یا روش های مشابه

    از ویو رفتن به کنترلر اشکالی نداره شما میتونی یه درخواست با فرم post یا get بفرستی از ویو به کنترلر
    چیزی که مشکل داره اینه که از توی ویو بیای توابع کنترلر رو فراخانی کنی
    این 2 شاید مشابه به نظر بیان ولی کاملا متفاوت هستن

تاپیک های مشابه

  1. خطای Fatal error
    نوشته شده توسط beh3000 در بخش Yii Framework
    پاسخ: 1
    آخرین پست: سه شنبه 09 دی 1393, 17:21 عصر
  2. پاسخ: 0
    آخرین پست: پنج شنبه 13 شهریور 1393, 14:53 عصر
  3. سوال: ارور Error 1 fatal error C1083: Cannot open include file: 'glut.h': No such file or directory
    نوشته شده توسط khz-web1 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: چهارشنبه 01 دی 1389, 19:29 عصر
  4. سوال: رفع خطای LINK : fatal error LNK1000: Internal error during IncrBuildImage
    نوشته شده توسط BeginnerProgrammer در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 0
    آخرین پست: شنبه 02 مرداد 1389, 16:14 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •