Я не могу сказать вам, как ваш код будет работать без измерения и тестирования. Я бы искал другие проблемы с вашим кодом, что сделало бы его немного более читабельным / доступным. Например:
Создание меньших методов.
Внутри основного метода я вижу несколько фрагментов кода, которые хорошо прокомментированы. Почему бы не создать метод вместо огромного комментария в основном методе?
Например:
// Get The users friends that use this app from facebook
$friends = $facebook->api_client->fql_query(
"SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=$this->user"
);
return $friends;
Было бы интересно
functin get_users_friends_from_facebook($facebook){
// Get The users friends that use this app from facebook
$friends = $facebook->api_client->fql_query(
"SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=$this->user"
);
return $friends;
}
Таким же образом,
// Get the votes from only the users in that list that voted
$result = $this->db->query(
"SELECT vote, userid FROM user_votes WHERE userid IN ($idstring)"
);
Является хорошим кандидатом на
function get_votes_from_voters(){
// Get the votes from only the users in that list that voted
$votes = $this->db->query(
"SELECT vote, userid FROM user_votes WHERE userid IN ($idstring)"
);
}
Дайте переменным значимые имена контексту.
$return
не хорошее имя. Почему бы вам не назвать это $users_votes
например?
Постарайтесь придерживаться соглашения о присвоении имен вашей платформе.
Проверьте используемый API. Они используют camelCase? Они используют подчеркивание? Попытайтесь придерживаться своих библиотек и платформ. Проверьте эту тему для хорошей ссылки.
И добро пожаловать в ТАК. Ваш код в порядке. Попробуйте прочитать некоторые принципы ОО, вы можете даже сократить количество строк своего кода. Все простые советы, которые я написал здесь, доступны в большой книге под названием Code Complete .