gpt4 book ai didi

PHP停止构造函数的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 00:20:21 27 4
gpt4 key购买 nike

我正在处理停止构造函数的问题。

public function __construct()
{
$q = explode("?",$_SERVER['REQUEST_URI']);
$this->page = $q[0];

if (isset($q[1]))
$this->querystring = '?'.$q[1];

if ($this->page=='/login') {include_once($_SERVER['DOCUMENT_ROOT'].'/pages/login.php');
// I WANT TO EXIT CONSTRUCTOR HERE
}

有停止/退出构造函数的功能:

die()exit()break()return false

我正在使用 return false,但我对安全性感到困惑。退出构造函数的最佳方法是什么?

感谢您的宝贵时间。

最佳答案

一个完整的例子,因为问题应该有一个可接受的答案:

像这样在构造函数中抛出异常:

class SomeObject {
public function __construct( $allIsGoingWrong ) {
if( $allIsGoingWrong ) {
throw new Exception( "Oh no, all is going wrong! Abort!" );
}
}
}

然后当你创建对象时,像这样捕获错误:

try {
$object = new SomeObject(true);
// if you get here, all is fine and you can use $object
}
catch( Exception $e ) {
// if you get here, something went terribly wrong.
// also, $object is undefined because the object was not created
}

如果出于某种原因您没有在任何地方捕获错误,它将导致整个页面崩溃的致命异常,这将解释您“未能捕获异常”并向您显示消息。

关于PHP停止构造函数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27742595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com