阅读了几个小时的文档和教程后,我最终陷入了更多的困惑。因此,我在这里请求您的帮助/提示,我非常感谢您的任何努力帮助我更进一步。对于我可能犯的任何错误,我很抱歉,可以这么说,我在这个主题上还是个新手。
我正在构建一个 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 平台,并且发送到该端点的任何请求都会被持续监听?
最佳答案
这是我解决这个问题的方法,只是为了让你知道。需要将测试端点添加到您正在使用的 Controller 文件中。您可以使用项目文件中的项目设置找到您的 token 。下面是一个简单的示例。
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 到您的网络应用程序”按钮或类似的操作,轻松从 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>
我还没有完成该应用程序的使用,但是,这种见解可能会帮助您处理类似的问题。
关于php - 如何将 CakePHP 3 应用程序与 Firebase 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37973785/