你好,我正在嘗試學習如何使用 symfony,所以我想出了一個想法,制作一個頁面,顯示每次頁面刷新時都會遞增的數字。我也不想使用數據庫,所以練習并不那么容易。我試圖制作一個保存變量并遞增它的服務,但由于我對 symfony 的理解很差,它不起作用:( 然后我嘗試使用會話,但結果是相同的:(( 我用完了到目前為止我所做的:<?phpnamespace App\Controller;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use App\Addition\GlobalKeeper;/** * Class counterController * @package App\Controller * @Route("/") */class counterController extends AbstractController{ private $Gcounter; public function __construct() { $this->Gcounter = new GlobalKeeper(); } /** * @Route("/") */ public function Counter (){ $this->Gcounter->startfordummy(); $this->Gcounter->increment(); return $this->render('home\insides.html.twig', [ 'num' => $this->Gcounter->getCounter()]); }}/////<?php namespace App\Addition;use Symfony\Component\HttpFoundation\Session\Session;class GlobalKeeper{ public $session; public function __constructor(){ $session = new Session(); $session->start(); if(null !==$session->get("test")) $session->set("test",0); } public function startfordummy(){ $session = new Session(); $session->start(); if(null !==$session->get("test")) $session->set("test",0); } public function getCounter() { return $this->session->get("test"); } public function increment() { $this->session->set("test", $session->get("test") + 1); } }此代碼還導致Call to a member function set() on null
1 回答

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
浪費這些文檔是一件可怕的事情。
class DefaultController extends AbstractController
{
? ? /**
? ? ?* @Route("/counter", name="counter")
? ? ?*/
? ? public function counter(SessionInterface $session)
? ? {
? ? ? ? $counter = $session->has('counter') ? (int)$session->get('counter') : 0;
? ? ? ? $counter++;
? ? ? ? $session->set('counter',$counter);
? ? ? ? return $this->render('default/counter.html.twig', [
? ? ? ? ? ? 'counter' => $counter,
? ? ? ? ]);
? ? }
}
告訴你的老師,他們不僅在教你有關課程的知識方面做得很糟糕,而且在教你如何搜索信息方面也做得很糟糕。
- 1 回答
- 0 關注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消