Про первый способ я даже и не подумал, хотя пользуюсь им в других местах. Иногда его можно использовать.
В втором способе есть существенный недостаток, даже два: Получается слишком длинная строчка, если ещё типы входящие указывать. Теряется комментарий к методу.
А… может Вы думаете, что приложение будет изменять напрямую свои сессии? Так это не так. Есть два сайта. Сайт1 будет изменять сессию Сайт2. При этом Сайт2 ничего не будет знать об этом.
Я? Не, не жалуюсь, там с сериализацией всё просто. При этом можно выбрать способ сериализации. В том числе и в формате WDDX. А это говорит о том, что с данными сессии можно вполне легально манипулировать извне.
При этом не вижу смысла делать то, что будет выглядеть как сессия, работать как сессия, но будет иметь собственный интерфейс, и не будет при этом сессией, а будет его дублёром и работать параллельно. А рядом стоящих разработчиков будет ставить в тупик когда они будут видеть объект, который будет выполнять функции сессии, но не будет при этом не будет её являться.
VitaZheltyakov, механизм то собственный. Но в него попадают данные уже в сериализованном виде. Мне кажется, что Вы не знаете как работает session_set_save_handler.
VitaZheltyakov, сессия сохранённая в кэше или в БД из кода ничем не отличается кроме, собственно, обработчика, который запихивает данные или в кэш или в БД. И я уже сказал, что сессия у нас хранится не файлах.
Не надо сравнений. Они на меня не производят впечатления, потому что я могу сразу несколько контрсравнений привести: Топор — предназначен для рубки, но им можно прекрасно забивать гвозди, а на поверхности будет меньше вмятин. Собаки — хз для чего они изначально предназначены, но они и сапёры, и подрывники, и поводыри, и т.д… Виагра — изначально это лекарство было предназначено «для сердца», а сейчас Вы знаете для чего оно предназначено.
Но есть несколько предпосылок, которые позволяют не бояться:
1. Данные не критические, могут и потеряться.
2. Данные изменяются только извне.
3. Данных мало (собственно, одно число).
4. Данные должны выглядеть как сессия: продлеваться, истекать, привязаны к конкретному номеру сессии.
5. Сессия хранится не файлах.