假设我正在存储一个名为$_SESSION [“logged_in_user”]的数组或对象.
如果我需要在整个脚本中反复引用它,以下哪项是“最佳实践”?
>每次使用$_SESSION [“logged_in_user”](即$_SESSION [“logged_in_user”] [“first_name”])?
>将对象复制到一个新的变量,如$logged_in = $_SESSION [“logged_in_user”]?
>创建对会话变量的引用,如$logged_in =& $_SESSION [ “LOGGED_IN_USER”]
我可能会过度思考这个问题,但我主要担心的是脚本开销和可读性问题.我不确定重复引用会话变量是否比引用内联声明的变量慢.我也不知道将会话变量复制到“常规”变量是否会增加必要的开销.我喜欢$logged_in [“first_name”]对$_SESSION [“logged_in_user”] [“first_name”]的可读性.
那么这里有最好的做法,还是真的没关系?
你不是在思考它……思想是好的!
原文链接:https://www.f2er.com/php/135492.html我个人使用symfony 1.4编写代码,这解决了这些问题,但你可以选择保持精益:-)
我认为OO(面向对象).创建用户类.然后调用UserFactory :: getCurrentUser()或User :: getCurrentUser()这样的调用,它将返回当前登录的用户对象.该类的成员变量之一是user_id.但是,您将能够向该类添加附加功能和数据.
请记住,在OO中思考意味着使用非常接近问题域的抽象术语.用户,汽车,订单等.您不必具体,并且您不必在该类中包含所有可用信息,以使其“完整”,无论是什么.仅包含您当时需要的数据(请记住yagni).这些课是对具体的现实世界的幻想.就像3D建模是现实世界的幻觉一样.
希望有帮助……