阅读了几个小时的文档和教程后,我终于陷入了更多的困惑。所以,在这里,我要求你的帮助/提示,我真的很感激任何努力都可以帮助我更进一步。对不起我可能犯的任何错误,我对这个话题很新手,所以说。
我正在构建一个Web应用程序,实际上是一个网页,它会在收到来自外部源的GET / POST请求后立即开始运行。因此,如果收到任何请求,页面将异步更新,我之后想到在前端使用AngularJS和AngularFire。我知道还有很多其他的方法,也可能更简单,但我很好奇如何将我的CakePHP应用程序与Firebase平台集成。所以,现在让我们坚持使用 CakePHP + Firebase 解决方案。
到目前为止,使用SDK Firebase PHP Client非常有意义,但是,我仍然对需要操作的文件感到困惑。由于根本没有多少 - 我到目前为止没有找到 - 使用CakePHP3框架和Firebase的例子,我被困在这里,我真的很感激这里有任何帮助。首先,这个代码在链接中给出,我想知道它是如何工作的以及那些变量和常量代表什么。
const DEFAULT_URL = 'https://kidsplace.firebaseio.com/';
const DEFAULT_TOKEN = 'MqL0c8tKCtheLSYcygYNtGhU8Z2hULOFs9OKPdEp';
const DEFAULT_PATH = '/firebase/example';
$firebase = new \Firebase\FirebaseLib(DEFAULT_URL, DEFAULT_TOKEN);
// --- storing an array ---
$test = array(
"foo" => "bar",
"i_love" => "lamp",
"id" => 42
);
$dateTime = new DateTime();
$firebase->set(DEFAULT_PATH . '/' . $dateTime->format('c'), $test);
// --- storing a string ---
$firebase->set(DEFAULT_PATH . '/name/contact001', "John Doe");
// --- reading the stored string ---
$name = $firebase->get(DEFAULT_PATH . '/name/contact001');
这是主要问题,假设我在我的应用程序的一个端点上有测试功能,请说 www.example.com/visits/test ,我该如何制作确保我的应用程序已集成到Firebase平台,并且正在连续收听发送到该终点的任何请求?
答案 0 :(得分:3)
以下是我如何解决它,只是你知道。需要将测试结束点添加到您正在使用的控制器文件中。您可以使用项目文件中的“项目设置”找到令牌。下面是一个简单的例子。
public function test()
{
$DEFAULT_URL = 'YOUR_URL';
$DEFAULT_TOKEN = 'YOUR_TOKEN';
$DEFAULT_PATH = '/';
$firebase = new \Firebase\FirebaseLib($DEFAULT_URL, $DEFAULT_TOKEN);
$lines = [
"I had a problem once",
"I used Java to solve it",
"Now, I have ProblemFactory",
];
foreach ($lines as $line) {
$foo = $firebase->push($DEFAULT_PATH."code/",$line);
echo "child_added";
sleep(0.1);
echo "<br> ";
}
然后,为了捕获前端添加的行,您可以使用类似于下面代码的代码。您可以通过单击添加“firebase到您的Web应用程序”按钮轻松地从firebase控制台访问适合您代码的版本,或者像这样。
<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"> </script>
<script>
// Initialize Firebase
var config = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR-DOMAIN",
databaseURL: "YOUR_URL",
storageBucket: "YOUR_BUCKET",
};
firebase.initializeApp(config);
var codeRef = firebase.database().ref('code/');
codeRef.on('child_added', function(data) {
console.log(data.val());
});
</script>
我还没有完成应用程序,但是,这种洞察力可以帮助您处理类似的问题。