当前位置: 首页 > 面试题库 >

如何在不维护状态名称数组的情况下用PHP发送状态代码?

虞正业
2023-03-14
问题内容

我要做的就是404从PHP 发送状态代码-
但采用通用方式。两者Router::statusCode(404)Router::statusCode(403)以及其他任何有效的HTTP状态代码均应正常工作。

我确实知道,您可以将状态代码指定为的第三个参数header。遗憾的是,这仅在您指定时有效string。因此,呼吁header('', false, 404)没有 工作。

而且我知道,可以通过header带有状态行的呼叫发送状态代码:header('HTTP/1.1 404 Not Found')

但是要做到这一点,我必须Not Found为所有状态码(404)维护一个原因短语数组()。我不喜欢这样的想法,因为它某种程度上是PHP已经做的事情的重复(对于第三个header参数)。

所以,我的问题是:是否有任何简单干净的方法来用PHP发送状态代码?


问题答案:

PHP> = 5.4.0中为此提供了一个新功能。
http_response_code

简单地做http_response_code(404)

如果您的PHP版本较低,请尝试header(' ', true, 404);(请注意字符串中的空格)。

如果还要设置原因短语,请尝试:

header('HTTP/ 433 Reason Phrase As You Wish');


 类似资料:
  • 我正在使用React和Redux,我需要用更新的数据更新我的状态。“我的状态”包含如下对象数组: 所以在这个reducer中,我只想用我的负载替换或更新整个状态数组,但不改变我的状态。我的有效负载还包含与上面相同的对象数组,但包含更新的数据。

  • 我对EJB有点陌生。我已经理解了HTTPSession是如何维护的(所有cookie funda)。互联网上所有的资源都写着“有状态会话Bean维护会话(记住客户机)”,但我找不到答案

  • 我对JS中使用Promissions或async/await的异步操作还不熟悉,我正试着对这个概念进行总结。我遇到的一个问题是,如何在多个数组上循环并对每个元素执行异步操作时保持状态。例如,我有以下代码: 虽然上面的代码符合我的目的,但我试图更好地理解基于promise的代码。我意识到循环必须是同步的,逻辑才能工作,但API调用本质上是异步的。我不是在尝试创建异步代码,而是在尝试处理异步代码。暂停

  • 我有两种不同的活动。主要活动,联系人列表 在联系人详细信息 Intent Intent=新的Intent(getBaseContext(),MainActivity)。类);意图putExtra(“联系人编号”,联系人编号);星触觉(意图) 在MainActivity OnResume方法中 字符串数据=getIntent()。getExtras()。getString(“keyName”); a

  • 我的问题是每次调用distinctByKey并产生新的ConcurrentHashMap。如何使用新的ConcurrentHashMap<>()维护状态;?

  • 我们正在评估Magento的电子商务解决方案。Magento解决方案是定制的,可以连接到一系列内部系统,用于支付、订单处理和其他功能。 我们正在计划使用少数外部订单状态和内部订单状态来处理从一个集成到另一个集成的系统工作流。我们的策略是,内部状态是我们支持的内部状态,客户看到外部状态,它们一起帮助我们确定每个状态的关闭(例如,支付成功),然后导航到下一步(订单创建)。这样做的原因是,大多数内部服务