如何定义用于 REST 控制器的 Wordpress 全局变量?
How to define Wordpress global variable for use in a REST Controller?
我正在通过编写 Controller class.
来扩展 WP REST API
我正在尝试从文件中读取此 class 的配置,例如:
{
"base-namespace": "myapi",
"version": "v1",
"resource": "things"
}
这将使我能够使服务器和客户端保持同步,因为它们都使用相同的配置文件。
但是,我不希望 WP 为它服务的每个请求继续读取此文件...目前,如果我从插件文件(或其任何所需文件 - 包括控制器定义)中的任何位置读取此文件),如果我也 echo
离开我正在阅读的地方,我会看到它总是为每个请求传递那段代码(包括阅读)。
我想我需要在插件本身之外的某个地方读取这个文件 - 将其设为全局文件,然后在实例化控制器时访问它。
我是 WP 的新手 - 这是第一次涉足它。这个全局变量定义应该放在哪里才能只执行一次?
注:
- 我尝试在我的插件中使用
require_once
来要求一个配置文件来读取文件。我在那里放了一个 echo
语句,它表明每个请求都会执行该文件(尽管 require_once
)。
- 我也试过将读取的文件包装在
if(!isset($my_global_var)
语句中。但是在 if
语句中添加一个 echo
语句表明这个全局变量在每个请求服务时总是未设置......显然这需要进入某种只执行一次的 WP 启动文件。
谢谢。
将您的配置数据作为 PHP 数组存储在 .php 文件中,然后使用 PHP include 语句包含它。高级 PHP 引擎解析 PHP 源一次并缓存脚本的编译表示,这样它就不必每次都重新解析 PHP 源。因此,如果您的数据位于 PHP 源文件中,它将保存在 PHP 的引擎编译脚本缓存中。
当然,如果您的客户端不是 PHP,则需要有代码来解析 PHP 数组。
我正在通过编写 Controller class.
来扩展 WP REST API我正在尝试从文件中读取此 class 的配置,例如:
{
"base-namespace": "myapi",
"version": "v1",
"resource": "things"
}
这将使我能够使服务器和客户端保持同步,因为它们都使用相同的配置文件。
但是,我不希望 WP 为它服务的每个请求继续读取此文件...目前,如果我从插件文件(或其任何所需文件 - 包括控制器定义)中的任何位置读取此文件),如果我也 echo
离开我正在阅读的地方,我会看到它总是为每个请求传递那段代码(包括阅读)。
我想我需要在插件本身之外的某个地方读取这个文件 - 将其设为全局文件,然后在实例化控制器时访问它。
我是 WP 的新手 - 这是第一次涉足它。这个全局变量定义应该放在哪里才能只执行一次?
注:
- 我尝试在我的插件中使用
require_once
来要求一个配置文件来读取文件。我在那里放了一个echo
语句,它表明每个请求都会执行该文件(尽管require_once
)。 - 我也试过将读取的文件包装在
if(!isset($my_global_var)
语句中。但是在if
语句中添加一个echo
语句表明这个全局变量在每个请求服务时总是未设置......显然这需要进入某种只执行一次的 WP 启动文件。
谢谢。
将您的配置数据作为 PHP 数组存储在 .php 文件中,然后使用 PHP include 语句包含它。高级 PHP 引擎解析 PHP 源一次并缓存脚本的编译表示,这样它就不必每次都重新解析 PHP 源。因此,如果您的数据位于 PHP 源文件中,它将保存在 PHP 的引擎编译脚本缓存中。
当然,如果您的客户端不是 PHP,则需要有代码来解析 PHP 数组。