Профессия: Laravel проповедник
Религия: Ларавеловедение

Статус: Преклонитесь перед волей покровителя нашего, Ларавела. Да придет с ним сила, знания, и мощь всея ORM и MVC. Поднимитесь к уровню создателя всего сущного, Тейлора Отвелла, и да прибудет с ним счастье и прозрение. Illuminate.
Контакты

Достижения

Все достижения (24)

Наибольший вклад в теги

Все теги (97)

Лучшие ответы пользователя

Все ответы (315)
  • Какие пакеты Laravel must have?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Carbon уже встроен в Laravel. Так что удивительно, если у вас получится его не использовать :)

    Для поиска по SQL (если нет возможности интегрировать Scout, Elastic) использую sofa/eloquence
    Для ролей до сих пор считаю лучшим zizaco/entrust
    Для генерации slug-ов в таблице - cviebrock/eloquent-sluggable
    Генерация / выгрузка в excel - maatwebsite/excel
    Изменение размеров картинки "в режиме реального времени" - folklore/image
    Генерация sitemap - roumen/sitemap
    Бэкап - spatie/laravel-backup
    Ну и для создания сложных связей на основе join-ов - johnnyfreeman/laravel-custom-relation
    Ответ написан
  • Как научится верстать такое?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Практика, практика, и только практика.
    Вы выучили основы html и css, и вроде бы можете что-то сверстать.
    На одном вроде бы, и с такими знаниями сразу подобное (svg анимации и т.д.) сверстать вы не сможете.
    Начните с малого, развивайте скилл, после того как разберетесь с типографией / сетками, и сможете верстать настоящие проекты - читайте и вникайте в примеры на codyhouse.co, там вся реализация разложена по полочкам.
    Ответ написан
  • Export.yandex.ru/weather-ng/forecasts/id.xml больше не будет работать?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Для тех кому нужен парсинг погоды. Делюсь.

    Официальный адрес для обращения к API:
    https://api.weather.yandex.ru/v1/forecast?geoid=2&lang=ru


    Заголовки, которые нужно передать для доступа:
    User-Agent: yandex-weather-android/4.2.1
    X-Yandex-Weather-Client: YandexWeatherAndroid/4.2.1
    X-Yandex-Weather-Device: os=null;os_version=21;manufacturer=chromium;model=App Runtime for Chrome Dev;device_id=[DEVICE ID];uuid=[UUID];
    X-Yandex-Weather-Token: [TOKEN]
    X-Yandex-Weather-Timestamp: [TIMESTAMP]
    X-Yandex-Weather-UUID: [UUID]
    X-Yandex-Weather-Device-ID: [DEVICE ID]
    Accept-Encoding: gzip, deflate
    Host: api.weather.yandex.ru
    Connection: Keep-Alive


    Где [TOKEN] генерируется функцией
    md5(secret.concat(timestamp))

    Ну и соответственно secret - eternalsun
    UUID и Device ID берите от вашего девайса на Android, либо получайте (как я) в ARC Welder.

    UPD: Кому интересно, выдается в таком формате:
    pastebin.com/w12KvC6q
    Ответ написан
  • Как правильно реализовать локализацию БД в laravel?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    На мой взгляд использование пакетов для этой цели нецелесообразно.
    Обычная полиморфическая связь подойдет.

    И так, давайте представим что основной контент статьи на русском языке.
    Во первых, создадим модель нашей локализации:
    php artisan make:model Localization

    Укажем что это полиморфическая связь:
    protected $table = 'localization';
    
    public function lozalizable()
      {
          return $this->morphTo();
      }


    В нашей модели статей привяжем свежесозданную модель в качестве связи:
    public function lozalization(){
    	    return $this->morphOne('App\Localization', 'lozalizable');
    	}


    И создадим миграцию для модели Lozalizable:
    Schema::create('localization', function (Blueprint $table) {
            $table->increments('id');
            $table->string('field');
            $table->string('language');
            $table->string('value');
            $table->string('lozalizable_type');
            $table->integer('lozalizable_id');
            $table->timestamps();
          });


    Теперь, для создания локализации статьи с языком en выполним следующий код:
    $article = Article::create($Atricle);
    
    $localization = new Localization;
    $localization->language = 'en';
    $localization->field = 'content';
    $localization->value = 'Znachenye na english yazike';
    $article->localization()->save($localization); //привязываем к свежесозданному объекту Article новую локализацию


    С помощью scope функций в модели можно без особых проблем реализовать более удобное выдергивание нужного значения и языка:
    public function scopeGetLocalize($language, $field){
         return $this->localization()->where(['language' => $language, 'field' => $field])-> firstOrFail()->value;
    }


    В таком случае, скажем, поле title для локализации en можно выдергивать так:
    $article->getLocalize('en', 'title')
    Ответ написан
  • Node.js как замена PHP?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Скажу даже больше - он для этого и создан.
    NodeJS хорош всем. Понятный лаконичный язык (javascript), устройчив в качестве веб-сервера, куча плюшек вроде асинхронности, потоков, и т.д.

    Минус один - ни один из виртуальных хостингов его не поддерживает.
    Будьте добры - покупайте VPS.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (28)