PHP - SLIM API - 如何在多个 PHP 文件之间共享变量但请求特定
PHP - SLIM API - howto share variables across multiple PHP files but request specific
我有一个服务器 运行 API 使用 Slim。
每个 API 请求指向 PHP 代码/函数,这些代码/函数分为不同的 PHP 文件。
我不太喜欢 PHP,现在我在每个 class 需要的地方传递或设置变量。
我想知道是否有更好的方法来设置可以在不同 PHP 文件之间共享的 REQUEST SCOPE 'global' 变量?但不在所有传入请求之间共享。
我应该:
- 使用会话?
- 与单身人士一起工作?
- ...
代码示例很难给出。
这个问题更适合概念性问题。
对于在多个 PHP 文件之间完成变量共享,但使用 REQUEST 范围,有什么好的建议吗?
您应该明白,您的 PHP 应用程序是针对每个传入请求启动的,因此您不可能 "share" 在请求之间意外地获取数据。我现在想不出有什么办法可以故意这样做,真的。
至于"sharing information"不同文件之间:信息实际上是共享的。这是一个例子:
project/
test.php
mew.php
test.php
的内容:
<?php
$foo = 'bar';
include 'mew.php';
mew.php
的内容:
<?php
echo $foo; // accessing variable that was declared in "parent" file
GET project/test.php
请求的输出:
bar
所以,你真的没有 "sharing" 问题。
编辑
根据您的评论,我了解到您需要某种客户端身份验证。这可以通过多种方式完成:通过 IP 地址进行原始和不安全的身份验证(使用 this middleware, for instance), classy HTTP authentication (tool for that), JWT is a good method (tool)。
从概念上讲很简单:每个客户的请求都必须跟在某种令牌之后。当您收到请求时,您获取该令牌,通过它识别客户端并 return 适当的响应。
我有一个服务器 运行 API 使用 Slim。
每个 API 请求指向 PHP 代码/函数,这些代码/函数分为不同的 PHP 文件。 我不太喜欢 PHP,现在我在每个 class 需要的地方传递或设置变量。
我想知道是否有更好的方法来设置可以在不同 PHP 文件之间共享的 REQUEST SCOPE 'global' 变量?但不在所有传入请求之间共享。
我应该:
- 使用会话?
- 与单身人士一起工作?
- ...
代码示例很难给出。 这个问题更适合概念性问题。
对于在多个 PHP 文件之间完成变量共享,但使用 REQUEST 范围,有什么好的建议吗?
您应该明白,您的 PHP 应用程序是针对每个传入请求启动的,因此您不可能 "share" 在请求之间意外地获取数据。我现在想不出有什么办法可以故意这样做,真的。
至于"sharing information"不同文件之间:信息实际上是共享的。这是一个例子:
project/
test.php
mew.php
test.php
的内容:
<?php
$foo = 'bar';
include 'mew.php';
mew.php
的内容:
<?php
echo $foo; // accessing variable that was declared in "parent" file
GET project/test.php
请求的输出:
bar
所以,你真的没有 "sharing" 问题。
编辑
根据您的评论,我了解到您需要某种客户端身份验证。这可以通过多种方式完成:通过 IP 地址进行原始和不安全的身份验证(使用 this middleware, for instance), classy HTTP authentication (tool for that), JWT is a good method (tool)。
从概念上讲很简单:每个客户的请求都必须跟在某种令牌之后。当您收到请求时,您获取该令牌,通过它识别客户端并 return 适当的响应。