2011-07-12 86 views
0

doees任何人都知道,如何访问静态对象中的会话?如何访问静态对象中的会话

我编码一个车右知道,我在LIB /一类Cart.php

class cart { 

public function calculatesum(){ 
$cart = $this->getUser()->getAttribute('cart'); 
} 

} 

这是行不通的。任何人有个想法?

谢谢!

Craphunter

+0

你使用一些lib来改变它吗? TRy $ _SESSION ['cart'] – beardhatcode

+0

你正在从功能中回避什么? –

+0

这是一个演示代码,因为我不会返回任何东西 – craphunter

回答

0

要访问会话变量,你首先要使用

session_start(); 

此后你可以做这样的事情

$cart = $_SESSION['cart']; 

在我假设你已经存储您的购物车预先作为会话变量

+0

这是symfony,它是一个框架,因为它不起作用。 – craphunter

4

您应该注入当前用户立场到功能。

class cart { 

    public function calculatesum (myUser $user){ 
    $cart = $user->getAttribute('cart'); 
    } 

} 
+0

对不起,我没有看到:(myUser $ user) 什么是“myUser”?我在哪里编码? – craphunter

+0

这就是你在php中强制传递参数的类型。 myUser是symfony中的会话类(位于apps/appname/lib/myUser.class.php中)。 – Maerlyn

+0

谢谢,那么这个funktion是怎么样的?像$ user = $ this-> get-> User();在myUser.class.php? 当我打电话给calculateum时,我可以在模板中传递这个函数吗? – craphunter

0

在这里,你如何在symfony 1.4中的静态函数中访问会话中的数据。再次感谢Maerlyn!

在/lib/Cart.php:

class cart { 

public function calculatesum ($user){ 
$cart = $this->getUser()->getAttribute('cart'); 
} 

} 

在模板:

echo CAERT::calculatesum($sf_user); 

采取特殊的外观$用户和$ sf_user。

问候!

Craphunter

相关问题