假设您将类的实例存储在关系表中。你会如何坚持该类的静态属性?例如:
class WebSiteUser {
private static $common_homepage_content;
private $username;
private $password_hash;
...
}
对应于:
CREATE TABLE web_site_users
(
username character varying(100) NOT NULL,
password_hash character varying(40) NOT NULL,
...
$common_homepage_content
去哪儿了?
答案 0 :(得分:2)
由于静态变量对于类有意义但对实例级别没有意义,因此它不能进入具有实例变量的表。在您正在创建的表中,可以有多个用户名字符和相应的password_hashes,但在每个记录中放置common_homepage_content将是重复数据。您可以将common_homepage_content放在一个单独的表中,并从第一个表中的每个记录中引用它。
答案 1 :(得分:1)
好吧,如果您要保留的变量只是static
,我必须假设有许多用户(WebSiteUser
)具有相同的$common_homepage_content
。在这种情况下,您应该在db中为此属性创建一个新表,因为它是1> N关系。