Firebase (AngularFire) programını PHP API'ları ile kullanıyorum ve çevrimiçi varlık sistemini yapıyorum. https://www.firebase.com/docs/managing-presence.htmlBirden çok Firebase referansı saklama
Çok fazla referansla sonuçlanmaya başladım ve bu yanlış geliyor.
Firebase, vanilya varillerinde veya bir nesnede saklanmalıdır.
controllers.controller('SocialCtrl', function($scope, angularFire) {
var onlineRef = new Firebase($scope.main.firebaseUrl + "https://stackoverflow.com/users/" + $scope.main.userId + "/online");
$scope.online = {};
angularFire(onlineRef, $scope, "online");
var usersRef = new Firebase($scope.main.firebaseUrl + "/users");
$scope.users = {};
angularFire(usersRef, $scope, "users");
var productRef = new Firebase($scope.main.firebaseUrl + "/products/" + $scope.main.serieId);
$scope.product = {};
angularFire(productRef, $scope, "product");
var connectedRef = new Firebase($scope.main.firebaseUrl + "/.info/connected");
connectedRef.on("value", function(snap) {
if (snap.val() === true) {
onlineRef.onDisconnect().set(Firebase.ServerValue.TIMESTAMP);
onlineRef.set(true);
}
});
});
VEYA
$scope.fire = {
refs: {
online: new Firebase($scope.main.firebaseUrl + "https://stackoverflow.com/users/" + $scope.main.userId + "/online"),
users: new Firebase($scope.main.firebaseUrl + "/users"),
product: new Firebase($scope.main.firebaseUrl + "/products/" + $scope.main.serieId),
connected: new Firebase($scope.main.firebaseUrl + "/.info/connected")
}
};
angularFire($scope.fire.refs.online, $scope, "fire.online");
angularFire($scope.fire.refs.users, $scope, "fire.users");
angularFire($scope.fire.refs.product, $scope, "fire.product");
angularFire($scope.fire.refs.connected, $scope, "fire.connected");
$scope.fire.refs.connected.on("value", function(snap) {
if (snap.val() === true) {
$scope.fire.refs.online.onDisconnect().set(Firebase.ServerValue.TIMESTAMP);
$scope.fire.refs.online.set(true);
}
});
Bunun en iyi uygulamalar soru yapmak anlamına gelmez. Firebase çok yeni, henüz farkına varmayacağım bir şeyi kırmak istemiyorum.
'.child' ipucu için çok yararlıdır. Kök referansını açısal bir fabrikada tamamladım ve şimdi tüm diğer ihtiyaçlar için '.child 'i çağırdım. Sonuç çok temiz hissettiriyor. – SimplGy