who are you
Post
who are you
так почему нужно делать в РБАК класс rule который будет определять автор это или не автор. ведь проще же отдельный метод в модели забабашить isAutor и все, нафига в миграциях епать мозг создавать новое разрешение новые правила,в се это склеивать ради строки в контроллере
if (\Yii::$app->user->can('updatePost', ['post' => $post]))
who are you
своим методом определять автор или нет было бы вот так
if ($post->isAutor($id)))
who are you
такой способ в разы проще
who are you
не надо создавать лишний класс, не надо составлять хитрые рбак методы в магической последовательности
Alex
@beowulfenator жив?
Dmitry
всем привет
Dmitry
есть работа для знающих yii2
Alex
скока денег?
Dmitry
или рассчитывается по таскам или помесячно
Alex
что за таски, сроки, бюджеты? можно в личку если не хочешь палить
Dmitriy
Roman
можно всем в личку
Roman
пссс.... парень, работа нннада?
Roman
😊
Yurii
прошу сразу не обссыкать, но если я во frontend/config/main указываю
'params' => [
'fileUploadUrl' => 'uploads/',
],
то в теория папка должна быть размещена по пути frontend/uploads ?
Artem
The Ant
Yurii
в модели я обращаюсь к $dir = Yii::$app->params['fileUploadUrl'];
Yurii
интересно как выглядит этот путь в рамках приложения
Artem
так же как и был написан в параметре
Yurii
тоесть грубо говоря domains/site.com/yii/frontend/uploads?
Yurii
или yii/uploads?
Artem
будет просто uploads
The Ant
в нгинксе или апаче этот путь можно настроить самостоятельно, оно может быть даже лежит не на этом сервере
The Ant
а вот урл всегда статичный будет
Artem
вообще папку лучше раположить в web, и тогда можно будет получить до неё полный путь из системы например вот так: Yii::getAlias('@webroot' . Yii::$app->params['fileUpload'])
Yurii
тоесть в $dir указать алиас определенный, и не трогать конфиг вообще?
Yurii
понял, спасибо, буду ковырять
The Ant
не знаю что за $dir. Но да, определить директорию соххранения лучше полностью, для операций над файлами (/var/www/yser...)
The Ant
и сохранить в алиас
Artem
вот чем мне ларка нравится, это тем, что там уже все решено с аплоадми, и не нужно городить велосипеды
The Ant
решено стандартно, но это не значит что тебе именно то нужно будет
The Ant
да ты можешь использовать относительный путь из парамсов, но это в будущем аукнется почти наверняка
Artem
на самом деле там хватает с головой. Можно аплоадить файлы из коробки хоть в папку на серваке, хоть в S3
Yurii
УРА, загрузил, ТАК ЕЩЕ И В БАЗУ записал путь, благодарю, ломал час голову, прописал путь через алиас и все заработало. БЛАГОДАРЮ! теперь я смогу сговнокодить проект и поехать на море, ВСЕХ ЦЕЛУЮ
Ulugbek "Luke"
😂
who are you
вот чем мне ларка нравится, это тем, что там уже все решено с аплоадми, и не нужно городить велосипеды
ну ларка твоя финансово поддерживается, а Йии интузиаст. Поэтому Йии всегда будет немного отставать ибо политика - использовать то что есть но уже без ошибок) в то время как ларка разрабатывает и не знает об ошибках то Yii берет то что разработано и выпиливает ошибки и встраивает себе 😊 В этом тоже есть свои плюсы запаздания. А вот ларка ларка такая ларка крутая и прочее, да да да, слышали, и дальше чо?
Artem
я не говорю, что ларка лучше юи, и не хочу начинать эти холивары. Я сказал то, что мне нравится в ней.
who are you
зачем хвалить ларку в группе yii ))) блин в чем логика, ну давай каждый напишет то чо ему нравится, кому адидас нравится кому мерседес и прочее. странно. ну да ладно))😄 тебе с этим жить
Artem
ну не знаю, вдруг после этого кто-то вместо того, чтобы городить велосипеды с аплодами пойдет и просто выдернет это оттуда, и будет счастлив
Konstantin
кто-нибудь делал себе google oauth?
Konstantin
(особенно через Nodge/yii2-eauth)?
Konstantin
у гугла может быть только один конкретный redirect url?
Konstantin
а то мне надо /auth?service=google&code=foo и /auth?service=google&code=bar, и еще много вариантов, и я все возможные значения code наперед не знаю
Dmitriy
Konstantin
спасибо, уже вижу, что задница
Konstantin
придется через state передавать
Konstantin
понятно, что редирект-урлов может быть дофига, беда, что их надо задать явно все
Dmitriy
так это и правильно. они дожны быть известны
Dmitriy
остальное через state
Konstantin
а потому что не надо ничего печатать перед редиректом
Konstantin
убери var_dump($model->validate());, редирект начнет работать
Yurii
таки да, благодарю!👍
Yurii
и еще один идиотский вопрос.
хотел сделать превью залитого имиджа используя такой метод
public function getSmallImage()
{
if ($this->pic) {
$path = Yii::getAlias('@frontend' . '/web/' . Yii::$app->params['fileUploadUrl']).$this->pic;
} else {
$path = Yii::getAlias('@frontend' . '/web/' . Yii::$app->params['fileUploadUrl']).'nophoto.png';
}
return $path;
}
проблема в том что путь выглядит так и соответственно пикча не отображается <img src="D:\OpenServer\domains\uber/frontend/web/uploads/1501333359.png" alt="">
я так понимаю, что так оно выглядеть будет только на локальном сервере, и что на хостинге все будет ок, но хотелось бы какой-то универсальный вариант, подскажите плз
Yurii
думал использовать стр реплейс что бы заменить \ на /
Yurii
но это ж наркомания какая-то
Antony
У тебя путь должен строится относительно /frontend/web/, куда и должен смотреть веб сервер
Yurii
так разве сейчас не так?
Yurii
в общем это бок опен сервера я так понял
Nikita
Всем привет, как объявить связь один к одному не по id а по val_id
public function getVal()
{
return $this->hasOne(Val::className(), ['val_id', 'id']);
}
ошибка
Getting unknown property: common\models\CatalogObjects::val_id
Yurii
а разве работает если так объявлять?
Yurii
['id' => 'val_id']
Galymzhan
Yurii
та этот вопрос решили :)
Galymzhan
Да я просто поздно включился :)
Galymzhan
Ещё вместо / или \ лучше обращаться к константам
Galymzhan
Это стоит навсегда запомнить
Galymzhan
Пхп уже сам решит что лучше
Yurii
так а какое значение должно быть у константы?
Yurii
что бы и на локальном сервере нормально путь отображался? с "/" вместо "\"
Galymzhan
Galymzhan
http://php.net/manual/en/dir.constants.php
Galymzhan
Он уже сам будет ставить слеш или бэкслеш по ситуации
Yurii
не совсем понимаю как её использовать в моей ситуации, примеры с пхп.нет не помогли как-то(
Galymzhan
Если системный слеш не равен PATH_SEPARATOR, то заменяешь, если я сам понял правильно
Yurii
тот же str_replace? :)