开发者

Good practice for storing and retrieving session values in PHP

I was wondering what the best way is for storing and retrieving session values in PHP. I am building a php framework with an MVC structure. Now i have a registry class with inmportant object.

I have a class for the session, with some defined functions concerning the session. Now I was wondering if it is a good practice to just use

$_SESSION['something'] 

everywhere in your code. Or should i use set and get methods in the session object class. If i do so it would look something like

$session->something = 4
$myalue = $session->something

I know this is not a big deal, but i was 开发者_Go百科just wondering what the best practice is for such a thing in a good architecture.

Thank you!


I tend to side with a Session Object Class mainly because it gives me a proxy between the actual session date and what classes are trying to set.

For instance:

When I have a site live, and a user says they are having problems with X or Y, it is very easy for me to insert a Session Object with data that makes it look like I am that user, without needing to actually log in as that user, or erase any of my own Session data.

The other advantage is that I don't have to worry about how I name my variables. This is especially handy if I need to make sure my application doesn't step on another app's toes. I can simply change my variable names in the Session storage, while keeping them the same name when facing my app.


If you build a wrapper class around something, you should use that wrapper class. Otherwise what's the point?

The thing you usually want to shoot for is a layer of abstraction. If you ever decide to change the implementation detail of how exactly the session data is stored (like storing data in $_SESSION['Prefix']['something'], or switch the whole thing to a database backend), you can do so by simply changing the details of the session class, while the rest of your code works without changes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜