相关疑难解决方法(0)

类中的PHP异常

我正在为我的朋友编写一个Web应用程序(PHP),并决定使用Java提供的有限OOP培训.

我的问题是在我的课程/应用程序中注意到哪些特定的关键事情在没有实际破坏我的页面的情况下失败的最佳方式.

我的问题是我有一个Object"SummerCamper",它接受一个camper_id作为参数,将所有必要的数据从数据库加载到对象中.假设某人在查询字符串中指定了一个不存在的camper_id,我将其传递给我的对象构造函数并且加载失败.我目前没有看到一种方法让我从构造函数中返回false.

我已经读过,我可能会使用Exceptions执行此操作,如果在数据库中找不到任何记录,或者如果从应用程序输入camper_id时某些验证失败,则抛出异常.

但是,我还没有找到一种很好的方法来警告我的程序对象加载失败.我尝试从CATCH中返回false但是对象仍然存在于我的php页面中.我明白如果加载失败,我可以把变量$ is_valid = false,然后使用get方法检查Object,但我认为可能有更好的方法.

如果加载失败,实现对象基本终止的最佳方法是什么?我应该从构造函数外部将数据加载到对象中吗?有什么样的设计模式我应该研究一下吗?

任何帮助,将不胜感激.

function __construct($camper_id){
        try{
            $query = "SELECT * FROM campers WHERE camper_id = $camper_id";
            $getResults = mysql_query($query);

            $records = mysql_num_rows($getResults);

            if ($records != 1) {
                throw new Exception('Camper ID not Found.');
            }

            while($row = mysql_fetch_array($getResults))
            {
                $this->camper_id = $row['camper_id'];
                $this->first_name = $row['first_name'];
                $this->last_name = $row['last_name'];
                $this->grade = $row['grade'];
                $this->camper_age = $row['camper_age'];
                $this->camper_gender = $row['gender'];
                $this->return_camper = $row['return_camper'];
            }
        }
        catch(Exception $e){
            return false;
        }



    }
Run Code Online (Sandbox Code Playgroud)

php exception

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

exception ×1

php ×1