8000 Session cleanup by stof · Pull Request #3333 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

Session cleanup #3333

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 12, 2012
Merged

Session cleanup #3333

merged 4 commits into from
Feb 12, 2012

Conversation

stof
Copy link
Member
@stof stof commented Feb 12, 2012

This cleans the phpdoc of the refactored session by using inheritdoc in all appropriate places. For the SessionInterface, I added the @api tag in all methods as the Session class had them.
It also fixes a few typos in the variable names.

I figured a few things:

  • the Session class implements some methods that are not part of the SessionInterface. Is it intended or simply a left-over ?
  • the MemcachedSessionStorage uses a prefix property which does not exist. This is clearly a copy-paste from the MemcacheSessionStorage which has it. It also call the Memcached#close method which does not exist according to PhpStorm. @Drak could you check this class ? I don't know Memcached at all.
  • as I said on the refactoring PR, the Serializable implementation of the Session class seems totally wrong as the SessionStorage is not serializable.

/cc @Drak

@ghost
Copy link
ghost commented Feb 12, 2012

@stof there is a ticket about this, the problem exists from Symfony 2.0 also - refs #3000 PDOSessionStorage

@ghost
Copy link
ghost commented Feb 12, 2012

@stof I will look at the memcache issue and make a quick PR

@stof
Copy link
Member Author
stof commented Feb 12, 2012

@Drak the issue could exist with any SessionStorage as your SessionStorageInterface does not enforce making it serializable

@stof
Copy link
Member Author
stof commented Feb 12, 2012

@Drak note that this PR already fixes 2 typo in the memcached storage. It seems like some tests are missing for it as they should have been found (they would have raised a notice in the constructor)

@ghost
Copy link
ghost commented Feb 12, 2012

Afaik, only PDO is not serializable@ but the Serializable is on the SessionInterface. The problem is with #3000, the serialization is necessary but impossible.

@stof
Copy link
Member Author
stof commented Feb 12, 2012

@Drak what about a Mongo storage or things like that ?

@ghost
Copy link
ghost commented Feb 12, 2012

@stof Since you've started this PR would you mind removing $prefix. from the *session() methods in MemcachedSessionStorage - they are not required because Memcached handles prefixes itself. I'll write some tests in another PR for them. I guess I omitted it because at the time I didn't have them on my test env.

@ghost
Copy link
ghost commented Feb 12, 2012

@stof - Let's take the serialization issue to #3000 because it's being discussed there.

@stof
Copy link
Member Author
stof commented Feb 12, 2012

@Drak what about the close() method which does not exist in the Memcached class ?

@ghost
Copy link
ghost commented Feb 12, 2012

The method just needs to return true;.

fabpot added a commit that referenced this pull request Feb 12, 2012
Commits
-------

2c767d1 [HttpFoundation] Fixed closeSession for the Memcached storage
ec44e68 [HttpFoundation] Fixed the use of the prefix for the Memcached storage
5808773 [HttpFoundation] Fixed a typo and updated the phpdoc for the session
0550bef Removed methods duplicated from parent class

Discussion
----------

Session cleanup

This cleans the phpdoc of the refactored session by using inheritdoc in all appropriate places. For the SessionInterface, I added the ``@api`` tag in all methods as the Session class had them.
It also fixes a few typos in the variable names.

I figured a few things:

- the Session class implements some methods that are not part of the SessionInterface. Is it intended or simply a left-over ?
- the MemcachedSessionStorage uses a ``prefix`` property which does not exist. This is clearly a copy-paste from the MemcacheSessionStorage which has it. It also call the ``Memcached#close`` method which does not exist according to PhpStorm. @Drak could you check this class ? I don't know Memcached at all.
- as I said on the refactoring PR, the Serializable implementation of the Session class seems totally wrong as the SessionStorage is not serializable.

/cc @Drak

---------------------------------------------------------------------------

by drak at 2012-02-12T02:09:38Z

@stof there is a ticket about this, the problem exists from Symfony 2.0 also - refs #3000 PDOSessionStorage

---------------------------------------------------------------------------

by drak at 2012-02-12T02:10:12Z

@stof I will look at the memcache issue and make a quick PR

---------------------------------------------------------------------------

by stof at 2012-02-12T02:11:07Z

@Drak the issue could exist with any SessionStorage as your SessionStorageInterface does not enforce making it serializable

---------------------------------------------------------------------------

by stof at 2012-02-12T02:14:15Z

@Drak note that this PR already fixes 2 typo in the memcached storage. It seems like some tests are missing for it as they should have been found (they would have raised a notice in the constructor)

---------------------------------------------------------------------------

by drak at 2012-02-12T02:14:50Z

Afaik, only PDO is not serializable@ but the `Serializable` is on the SessionInterface.  The problem is with #3000, the serialization is necessary but impossible.

---------------------------------------------------------------------------

by stof at 2012-02-12T02:21:42Z

@Drak what about a Mongo storage or things like that ?

---------------------------------------------------------------------------

by drak at 2012-02-12T02:23:58Z

@stof Since you've started this PR would you mind removing `$prefix.` from the `*session()` methods in `MemcachedSessionStorage` - they are not required because Memcached handles prefixes itself.  I'll write some tests in another PR for them.  I guess I omitted it because at the time I didn't have them on my test env.

---------------------------------------------------------------------------

by drak at 2012-02-12T02:24:35Z

@stof - Let's take the serialization issue to #3000 because it's being discussed there.

---------------------------------------------------------------------------

by stof at 2012-02-12T02:27:27Z

@Drak what about the ``close()`` method which does not exist in the Memcached class ?

---------------------------------------------------------------------------

by drak at 2012-02-12T03:58:11Z

The method just needs to `return true;`.
@fabpot fabpot merged commit 2c767d1 into symfony:master Feb 12, 2012
nicolas-grekas added a commit that referenced this pull request Jan 25, 2019
…se connection (grachevko)

This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] MemcachedSessionHandler::close() must close connection

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT

Intoduced here #3333

Commits
-------

38a9d8b [Bugfix] MemcachedSessionHandler::close() must close connection
symfony-splitter pushed a commit to symfony/http-foundation that referenced this pull request Jan 25, 2019
…se connection (grachevko)

This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] MemcachedSessionHandler::close() must close connection

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT

Intoduced here symfony/symfony#3333

Commits
-------

38a9d8b6a3 [Bugfix] MemcachedSessionHandler::close() must close connection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0