Laravel использовать public_path в модели?

Я пытаюсь использовать помощник 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

0

Решение

потому что php не позволяет это (потому что это не реализовано). Однако вы можете сделать это.

public $folder;

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

}

не испытано хоть.

2

Другие решения

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, за которым следует обычное объявление переменной. Это объявление может включать в себя инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть в состоянии быть оцененной во время компиляции и не должна зависеть от информации времени выполнения для оценки.

1

По вопросам рекламы [email protected]