我有基于Nette框架的小应用程序.
我已经创建了constants.neon文件并将其添加到容器中.将有一些数据可以从演示者,模型,表格等获得.
如何访问中的值constants.neon?
我知道有一种方法,(new \Nette\Neon\Neon())->decode([NEON_FILE_PATH])但我不认为这是right way.我怀疑使用后,addConfig(...)在bootstrap.php从这些配置文件中的所有数据应可遍布系统.
<?php
// bootstrap.php
require __DIR__ . '/../vendor/autoload.php';
$configurator = new Nette\Configurator;
$configurator->setDebugMode(true); // enable for your remote IP
$configurator->enableDebugger(__DIR__ . '/../log');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->addDirectory(__DIR__ . '/../vendor/phpoffice/phpexcel')
->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$configurator->addConfig(__DIR__ . '/config/constants.neon');
$container = $configurator->createContainer();
return $container;
Run Code Online (Sandbox Code Playgroud)
我的constants.neon档案:
constants:
DP_OPT = 'DP'
PP_OPT = 'PP'
DV_OPT = 'DV'
ZM_OPT = 'ZM'
TP_OPT = …Run Code Online (Sandbox Code Playgroud) delivery-limit和 和有什么区别x-delivery-limit?
当我设置x-delivery-limitas RabbitMQ 队列参数时,我可以看到它限制了我的消息重新排队尝试,正如我所料,但在官方 RabbitMQ 文档中我看到了delivery-limit.
我有以下代码:
package main
import (
"log"
)
type Data struct {
Id int
Name string
}
type DataError struct {
Message string
ErrorCode string
}
func main() {
response := Data{Id: 100, Name: `Name`}
if true {
response = DataError{Message: `message`, ErrorCode: `code`}
}
log.Println(response)
}
Run Code Online (Sandbox Code Playgroud)
此代码返回一个错误:
./start.go:20: 不能使用 DataError 文字(类型 DataError)作为赋值中的类型数据
似乎我无法分配给response不同类型的 var 数据(在我的情况下DataError)。我听说可能的解决方案是通过接口统一Data和DataError结构化。或者也许有另一个更好的解决方案?
你能指出我如何解决这个问题吗?
谢谢