Это займет немного времени, чтобы объяснить.Я создаю свое первое реальное веб-приложение, и я бы сделал это правильно.У меня очень мало опыта работы с PHP, но большой опыт работы с другими языками, так что технические навыки не проблема, это больше условности языка.Я следую шаблону MVC, и я нахожусь на этапе, когда я реализую регистрацию пользователей для приложения.
Чтобы стандартизировать соединения с базой данных, я создал класс Config со статическим методом getConnection, который создает объект подключения mysqli.Это не проблема, это следующий бит:
Чтобы сделать мои классы более читабельными, в них встроены различные функции, которые делают вызовы базы данных.Например, в моем классе User есть метод getFriends, например, такой:
class User
{
public $id;
public getFriends()
{
return UserController::getFriends($id);
}
}
Но в его нынешнем виде, если я реализую его таким образом, это означает создание соединения для каждого запроса на странице, возможно * 1008.* много раз в одном скрипте, что просто ужасно.
Я думал сделать то же, что и выше, но передать getFriends объект mysqli, который, в свою очередь, передает один в UserController :: getFriends какхорошо, но это кажется грязной и откровенно плохой формой, даже несмотря на то, что это гарантирует только одно соединение на сценарий, намного лучшее улучшение.
Я также думал о том, чтобы отказаться от идеи сохранения методов внутри User в целом, ивместо этого следует выполнять вызовы, подобные UserController :: getFriends ($ connection, $ id), непосредственно в скрипте, с единственным объявлением $ connection в начале вместо user-> getFriends ().Это кажется абсолютно чистым, самым хорошим решением, но я не уверен.
Итак, по сути, как PHP-люди обычно делают подобные вещи?