• 1400/02/07

404 file does not exist :

سلام استاد من ویدیو هارو طبق اموزش شما پیش رفتم و  کدهارو هم تطبیق داادم  اما url  رو که وارد میکنم  خطای زیر و میده

404 file does not exist
<?php

namespace System\router;

use ReflectionMethod;

class Route
{
    private $currentRoute;

    public function __construct()
    {
        global $currentRoute;
        $this->currentRoute = explode('/', $currentRoute);
    }

    public function run()
    {
        $path = realpath(dirname(__FILE__) . "/../../application/controllers/" . $this->currentRoute[0] . ".php");

        var_dump($path);
        
        if (!file_exists($path)) {
            echo "404 file does not exist";
            exit;
        }

        require_once($path);

        sizeof($this->currentRoute) == 1 ?  $method = "index" : $method = $this->currentRoute[1];
        $class = "Application\Controllers\\" . $this->currentRoute[0];
        $object = new $class();
        if (method_exists($object, $method)) {
            $reflection = new ReflectionMethod($class, $method);
            $parameterCount = $reflection->getNumberOfParameters();
            if ($parameterCount <= count(array_slice($this->currentRoute, 2))) {
                call_user_func_array(array($object, $method), array_slice($this->currentRoute, 2));
            } else {
                echo "404 parameter error";
            }
        } else {
            echo "404 method error";
        }
    }
}
  • 1400/02/07
  • ساعت 18:12

سلام دوست عزیز

اگه چک کنید بعضی از متغییر ها اسمشون رو مثل کدهای استاد نذاشتید بهتره این کارو انجام بدید 

متغییر  currentRoute  رو با کدهای استاد چک کنید اگه اشتباه نکنم فکر کنم مشکل از این متغییر است


  • 1400/02/07
  • ساعت 21:53

دوست گرامی اسم متغییر یه چیز دلخواهه بنده لاراول کار میکنم  تجربه انتخاب این اسامی و این چیزا رو دارم مشکلی 

از این بابت نیست  فقط الان عجیبه برام  حتی کد های مهندس رو هم   جایگزین میکنم خطا میده 


  • 1400/02/07
  • ساعت 22:05

من نگفتم که مشکل از اسم متغییر هست گفتم بهتره مثل استاد بزارید چیزی که خود استاد گفتن 

چون من کدهای شما رو با کد خودم جایگزین کردم فقط current_route رو تغییر دادم درست بود و کار کرد فقط نظرمو دادم شاید بهتون کمکی کرده باشم...

موفق باشید


  • 1400/02/07
  • ساعت 22:13

ممنون از نظرتون ولی باور کنید من  کدهای استاد رو هم گذاشتم افاقه نکرد  اصلا  ورژن php  شما چنده؟

 


  • 1400/02/07
  • ساعت 22:47

من اخرین ورژن هست PHP 8.0.3

 پوشه system و فایل config  رو یه نگاه کنید شاید مشکل از اونجا باشه چون current_route رو اونجا تعریف کردیم


  • 1400/02/07
  • ساعت 23:07

من ورژنم 7.4 هست والا نمیدونم چرا  اذیت میکنه


  • 1400/02/08
  • ساعت 14:58

منم دقیقا همین مشکل رو دارم. همه چی رو عین استاد زدم


  • 1400/02/08
  • ساعت 15:29

با سلام خدمت شما همراه عزیز

 

دوستمون درست فرمودن برای اموزش باید تمامی موارد رو مثل مدرس پیش برید چون در‌این‌صورت وقتی به مشکل بخورید پیدا کردنش سخت هست مثل همین الان

 

شما باید خط به خط با کدهای بنده مقایسه کنید تا مشکل پیدا بشه و ببینید به چه‌ دلیل وارد

بخش نمایش

not found میشید

 

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


  • 1400/02/08
  • ساعت 21:19

استاد من فایل خودتون رو هم ران کردم باز همین ارور رو داد


  • 1400/02/09
  • ساعت 15:09

فایل htaccess رو چک کنید

اسم فولدرهاتون‌و لوکال هاستتون رو باید چک‌کنید دقیقا url مثل بنده باشه دقیق


  • 1400/02/16
  • ساعت 11:09

با سلام دوست عزیز برای اینکه مشکل برطرف بشه باید تو متغیر کلاس قبل Application یه \ اضافه کنید.


logo-samandehi