douzhicai7148 2014-04-27 10:39
浏览 19
已采纳

php class_exits没有按预期工作

I am trying to check if class exists and it returns false but if i check manually, it works successfully. Why is it so.

<?php

$controller_file = 'app/controllers/user.php';
$controller = 'User';

/**
 * Check if controller file exists
 */
if(!file_exists($controller_file)  ){
    throw new Exception(" Missing controller file");
}
require_once($controller_file);

/**
 * Check if controller and method exists
 */
if(class_exists($controller, false)){
    throw new Exception("Invalid Controller"); //this error thrown
}

$user = new User(); // these work 
var_dump($controller);
?>
  • 写回答

1条回答 默认 最新

  • dsnw2651 2014-04-27 10:51
    关注

    It is working, you forgot a !, it should actually be:

    if (!class_exists($controller, false)){
        throw new Exception("Invalid Controller"); //this error thrown
    }
    

    Your current code reads "if class User exists, throw an exception". Pretty sure you want "If class User doesn't exist, throw an exception".

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应