Laravel在模型中使用public_path?

时间:2014-11-11 15:01:12

标签: php laravel helper

我正在尝试使用public_path助手在我的模型中定义一些标准文件夹,但是我收到以下错误。是不是可以在模型中使用辅助函数?在控制器中一切正常。

class Varaimage extends \Eloquent {

public $sizes = array(
                array('folder'=>'/large/', 'width'=>'1000'),
                array('folder'=>'/thumb/', 'width'=>'150')
);

public $folder         = public_path().'/images/varor/';

exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'syntax error, unexpected '(', expecting ',' or ';'' in /var/www/html/kollavaran/app/models/Varaimage.php:13

2 个答案:

答案 0 :(得分:2)

因为php不允许它(因为它没有实现)。但你可以这样做。

public $folder;

public function __construct()
{
    $this->folder = public_path().'/images/varor/';

}

未经过测试

答案 1 :(得分:1)

PHP不支持使用函数设置属性。您需要做的是使用__construct方法。

public $folder;

public function __construct() {
    $this->folder = public_path() . '/images/varor/';
}

http://www.php.net/manual/en/language.oop5.properties.php

  

它们(属性)通过使用关键字public,protected或private之一定义,后跟正常变量声明。此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。