php - Laravel 会在每次调用时重新加载类吗?

标签 php laravel

我正在尝试松散地维护请求之间的持久数据。显然,数据库是维护数据的最佳方式,但在这种情况下,确切的正确性非常不重要。

我在我的一个 Controller 中使用静态变量,但它似乎在每次请求时都会重置。 laravel 是否会根据每个请求重新加载类?

示例代码:

class HomeController extends BaseController {
        public static $test = 0;


        public function getIndex() {
                LogHelper::info("TEST: " . HomeController::$test);
                HomeController::$test = HomeController::$test + 1;
                return View::make('layouts.home.index');
        }
}

这在每个请求上始终记录 0。有没有一种方法可以在不使用数据库的情况下维护持久变量?

编辑:我需要在所有用户/ session 之间共享该变量。就像点击计数器一样。

最佳答案

是的,Laravel 不会在请求之间保留变量,您需要使用 session 、数据库等手动保存数据。

例如,您可以使用 session 保存数据:

session(['data' => $data]);

并在下一个请求中获取数据:

$data = session('data');

更新

如果您想创建一些递增常量,请使用多个包之一将数据保存到配置文件中。 /config/my.php 配置示例:

<?php

return [
    'value' => 20,
];

从应用程序的任何部分获取此信息:

$value = config('my.value');

另一种方法是将数据保存在数据库中。

关于php - Laravel 会在每次调用时重新加载类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41621156/

相关文章:

php - 使用 json 解码获取一些数据

html - 使用 Form::text 在 Laravel 输入字段上设置自动对焦

php - Magento 在后端的销售发货网格中添加一列

PHP 在 HTML 表格中显示关联数组

php - 使用 codeigniter 从数据库中获取数据并在 ddl 中显示

php - 我所有mysql用户的生日提醒

laravel - 如何在 Laravel 7.x phpunit 测试中设置基本 url

php - Laravel 多对多自引用表只能以一种方式工作

php - 通过PHP调用MySQL存储过程

javascript - 将图像(来自 javascript)保存在公共(public)文件夹中(通过 php)