php - 通过在 symfony 中刷新页面来增加变量
问题描述
您好,我正在尝试学习如何使用 symfony,所以我想出了一个想法来制作一个页面,该页面显示每次页面刷新时都会递增的数字。我也不想使用数据库,所以锻炼不是那么容易。我试图制作一个保存变量并增加它的服务,但是由于我对 symfony 的理解很差,它不起作用:( 然后我尝试使用 session 但结果是一样的 :(( 我用完了想法。到目前为止我所做的:
<?php
namespace 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);
}
}
此代码还导致调用 null 上的成员函数 set()
解决方案
文档是一件可怕的浪费。
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,
]);
}
}
告诉你的导师,他们不仅在教你课程方面做得很糟糕,而且在教你如何搜索信息方面做得很糟糕。
推荐阅读
- reactjs - 点击时 Material UI 芯片组件的颜色变化不起作用
- c - 如何将单行按空格分割成两种不同的类型
- python - Python类在调用函数时没有属性
- javascript - 向 WP 主题添加新的导航菜单
- c# - 是否有关于使用 .Net 标准的 MvvmCross.Forms 和本地化的教程
- netlogo - 在 Netlogo 中画一个半圆
- c# - 如何访问下游对象中的 Logger 对象?
- python - How to get percentage from sum of selected rows using Pandas?
- c# - Get a random list of integer array in C#
- php - ON DUPLICATE KEY query - pulling out the primary key of a table