【问题标题】:Create Instance variable in Laravel在 Laravel 中创建实例变量
【发布时间】:2016-06-04 19:21:43
【问题描述】:

我有一个 php 类,它有 4 个方法。所有 4 个方法都使用一些公共变量,我将这些变量创建为实例变量。但我收到类似“未定义变量:”的错误,我该如何解决这个问题。 我的代码是,

public class test{
    public static $variable;

    public function func(){
      $variable = "Hello World";
      print_r($variable);
    }

}

【问题讨论】:

  • 如果它们不是静态的,则需要使用$this 访问它们,如果它们是静态的,则使用self。所以在你的情况下它会变成self::$variable。我建议阅读手册以获取有关 php 中 OOP 的更多信息

标签: php instance-variables laravel-5.2


【解决方案1】:

实际上这段代码不会给你任何错误,因为你只是打印你在 print 语句上面定义的变量。

演示:http://sandbox.onlinephpfunctions.com/code/cd43e866591ee0693cdcbeec6a230f583f756a67

如果您想为函数上方定义的$variable 赋值,请尝试以下代码:

<?php
class test {
    public static $variable;

    public function func(){
      self::$variable = "Hello World";
      print_r(self::$variable);
    }

}
$n = new test();
echo $n->func();
?>

演示:http://sandbox.onlinephpfunctions.com/code/f11b726a678b9a5ee0e474d7ca194bb5ed75af22

【讨论】:

    【解决方案2】:

    如果你对该变量有相同的静态值,试试这个

    class test 
    {
        const variable ="Hello World";
    
          public function func()
          {
            echo self::variable;
          }
    }
    
    $name = new test;
    
    $name->func();
    

    【讨论】:

      猜你喜欢
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2013-12-05
      相关资源
      最近更新 更多