Как интегрировать приложение CakePHP 3 с Firebase

Прочитав документацию и учебные пособия в течение нескольких часов, я все же оказался в растерянности. Итак, здесь я прошу вашей помощи / советов, и я очень признателен за любые усилия, которые помогут мне сделать шаг вперед. Извините за любые ошибки, которые я мог бы сделать, я, так сказать, довольно новичок в этой теме.

Я создаю веб-приложение, фактически отдельную веб-страницу, которая начнет работать, как только она получит запрос GET / POST от внешнего источника. Таким образом, страница будет обновляться асинхронно, если будет получен какой-либо запрос, для которого я подумал об использовании AngularJS и AngularFire на внешнем интерфейсе позже. Я знаю, что есть много других способов и, возможно, гораздо проще, но мне довольно любопытно, как интегрировать мое приложение CakePHP с платформой Firebase. Итак, давайте придерживаться CakePHP + Firebase решения на данный момент.

Пока что с помощью SDK PHP-клиент Firebase Однако, я все еще не понимаю файлы, которыми нужно манипулировать. Поскольку таких примеров просто не так много — я пока не нашел ни одного примера — использующего CakePHP3 Framework с 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, и любой запрос, отправленный в эту конечную точку, постоянно прослушивается?

1

Решение

Вот как я это решил, просто чтобы ты знал. Необходимо добавить конечную точку теста в файл контроллера, который вы используете. Вы можете найти свой токен, используя настройки проекта в файле проекта. Быстрый пример ниже.

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>

Я еще не закончил работу с приложением, однако это понимание может помочь вам справиться с подобными проблемами.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]