Я пытаюсь использовать помощник 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
потому что php не позволяет это (потому что это не реализовано). Однако вы можете сделать это.
public $folder;
public function __construct()
{
$this->folder = public_path().'/images/varor/';
}
не испытано хоть.
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, за которым следует обычное объявление переменной. Это объявление может включать в себя инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть в состоянии быть оцененной во время компиляции и не должна зависеть от информации времени выполнения для оценки.