php - Laravel 私有(private)变量在 Controller 中的两个方法之间共享

标签 php methods laravel laravel-4 share

如何在 Laravel Controller 中使用私有(private)变量,并在两个方法之间共享该变量值。 (在一个中设置它在另一个中使用它)。

最佳答案

您是在谈论一个 Controller ,对吗?所以我假设这就是你的意思:

class ControllerController extends Controller {

    private $variable;

    public function __construct($whatever)
    {
        $this->variable = $whatever;
    }

    public function method1($newValue)
    {
        $this->variable = $newValue;
    }

    public function method2()
    {
        return $this->variable;
    }

}

如果你在同一个请求中做事,你可以

$this->method1('newvalue');

echo $this->method2();

它会打印newvalue

如果您在请求之间执行此操作,您需要记住您的应用程序在请求重新启动后结束,因此您需要将其存储在某个地方,例如在 Session 变量中:

Session::put('variable', $newvalue);

然后

Session::get('variable');

或者您可以使用您需要在方法中返回的值进行重定向:

Redirect::to('posts')->with('variable','this is a new value');

在第二个

Session::get('variable');

关于php - Laravel 私有(private)变量在 Controller 中的两个方法之间共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692109/

相关文章:

php - 从 XML feed 向 MySQL 数据库插入数据

javascript - 构造函数使用 ES6 速记符号表现不同

java - 从一个方法调用特定变量到主类

php - 两列中同一表中 Eloquent 多个外键

php - 设置 session 域时 Laravel 数据库 session 不工作

php - 将 Codeception 与表单输入数组一起使用

javascript - 将 echo 值从 php 页面传递到 javascript 显示垃圾数据

PHP:递归空多维数组

c# - 为什么是 IEnumerable.Empty<T>() 而不是 IEnumerable<T>.Empty()?

javascript - 从验证重新加载页面后,带有 Select2 的 Laravel 输入值不会持续存在