سلام آقا
من همیشه اینطوری استثنا تعریف می کردم
throw new Exception('چنین تابعی یافت نشد ');
و همیشه درست کار میکرد ولی حالا تو یه مینی پروژم
برای من متن خودمو نمیزاره تو ارور ولی اگه \ اینو قبل اکسپشن بزارم کار میکنه
میخام بپرسم دلیلش چیه؟
اینم تابعی که ازش داخلش استفاده میکنم
public function despatch($url)
{
$url = $this->remove($url);
if ($this->match($url)) {
var_dump($this->param);
$controller = $this->param['controller'];
$controller = $this->getnameSapce() . $controller;
if (class_exists($controller)) {
$obj = new $controller;
$method = $this->param['actions'];
if (method_exists($obj, $method)) {
call_user_func_array([$obj, $method], $this->param['item']);
} else {
throw new Exception('چنین تابعی یافت نشد ');
}
} else {
throw new Exception('چنین کلاسی یافت نشد');
}
} else {
throw new Exception('چنین آدرسی یافت نشد ');
}
}
اکسپشن ها از نسخه ۵ PHP اضافه شدند و از نسخه ۷ از اینترفیس Throwable هم استفاده میشه.
خلاصه ای از این کلاس به شکل زیر هست:
Exception implements Throwable {
/* Properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methods */
public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] )
final public getMessage ( void ) : string
final public getPrevious ( void ) : Throwable
final public getCode ( void ) : mixed
final public getFile ( void ) : string
final public getLine ( void ) : int
final public getTrace ( void ) : array
final public getTraceAsString ( void ) : string
public __toString ( void ) : string
final private __clone ( void ) : void
}
و با قرار دادن \ قبل از Exception شما در واقع به نیماسپیپ روت اشاره میکنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟