考虑以下内容(简化为裸骨):
abstract class Validator {
public function __construct($data = null)
{
$this->data = $data ?: Input::all();
}
}
$validation = new PageValidator($data);
Run Code Online (Sandbox Code Playgroud)
'input :: all'返回一个数组.$ data也是一个数组.
我正在努力的一点是:
$this->data = $data ?: Input::all();
Run Code Online (Sandbox Code Playgroud)
我认为它基本上是这样做的:
if(!$data) {
$this->data = Input::all();
} else {
$this->data = $data;
};
Run Code Online (Sandbox Code Playgroud)
但我真的不明白怎么样?
我们使用Raspberry Pi嵌入式计算机将客户网络上的IP摄像机连接到基于云的录制服务.我们使用Raspbian,约50%是Wheezy,50%是Jessie.
我们面临的挑战是如何远程更新这些IFU上运行的软件.
我们当前的方法涉及使用SSH和Ansible.我们有一个复杂的Ansible脚本,它对Raspberry Pi进行了所有更改,我们已经在一定程度上实现了自动化,因此我们可以一次更新大量的Raspberry Pi.
但问题是这是非原子更新.Raspberry Pi不一定总是具有完全相同的软件包版本,具体取决于它们何时更新.它也可能升级到中途失败等.
我知道有几种方法可以通过下载新的"软件映像"进行原子升级,然后使用引导程序交换使用它.我认为OpenWRT可以做到这一点以及swupdate:https://github.com/sbabic/swupdate
有没有人曾经在Raspberry Pi上做过这样的事情?
谢谢