Я реализую модуль yii2 для слайдера дескриптора внутри моего приложения, базовая структура проекта — шаблон продвижения yii2.
У меня есть класс Images, который расширяет другой класс модели, сгенерированный gii,
Images.php
<?php
namespace common\modules\sliders\models;
use Yii;
use common\modules\sliders\models\base\Images as Im;
/**
* This is the model class for table "images".
*
*/
class Images extends Im
{
const UPLOAD_URL = Yii::$app->getModule('sliders');
}
UPLOAD_URL — это путь, по которому я буду загружать свои изображения, и это значение хранится в параметрах конфигурации моего модуля, так что проще настроить модуль для использования в другом приложении.
Когда я создаю экземпляр моего объекта Images, я получаю странную ошибку:
синтаксическая ошибка, неожиданное «$ app» (T_VARIABLE), ожидаемый идентификатор (T_STRING) или класс (T_CLASS)
которые интересуют эту строку:
const UPLOAD_URL = Yii::$app->getModule('sliders');
Почему это?
P .: Я знаю, что UPLOAD_URL таким образом не принимает значения параметров конфигурации, но меня останавливает ошибка.
Благодарю.
Вы не можете динамически присвоить значение константе
вы можете сделать это
const UPLOAD_URL ='yourpath\yourmodul\;
или если вам нужно динамически использовать функцию
public function getUploadUrl() {
return Yii::$app->getModule('sliders');
}
Других решений пока нет …