如何在laravel中将public内的目录设置为类变量

时间:2017-06-25 12:25:47

标签: variables laravel-5 syntax-error

我的laravel 5.4应用程序中有一个名为source的文件夹,我经常在我的控制器代码中使用。

例如,语句public_path() . '/source/'在我的代码中的许多地方使用,因此我想将public_path() . '/source/'目录定义为控制器级变量。这样我只需要在使用该目录的所有控制器函数中使用变量名。

这是我尝试过的,并且惊讶地发现它失败了:

class PostController extends Controller
{
    public $source_dir = public_path() . '/source/';
}

但是在定义$source_dir的行上,应用程序会出现以下错误:

  

FatalErrorException   语法错误,意外的'(',期待','或&#39 ;;'

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

即使我不确切地知道错误,但我猜全局属性类无法识别该函数。您可以在构造函数中分配

class PostController extends Controller
{
  public $source_dir;
  public function __construct()
  {
    $this->source_dir = public_path('/source/');
  }
}