2011-07-12 62 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

相關問題