Pull to refresh
5
0
Игорь @t1gor

Разработка web-сайтов и сервисов

Send message
Спасибо за статью, будем ждать релиза. Есть небольшой вопрос: при переходе на новую версию, я так понимаю, что при миграции придется заморочиться с конфитурацией (читай все переделать)?
Мне кажется что тут ответа вам никто и не подскажет, просто надо пробовать и выбрать то, что подходит именно вам. Судя по Google-у, вам может подойти MailGun.
Так в этом же вся суть асинхронной отправки
Ну уж если так хотелось не использовать массивы и scandir, почему было бы не использовать RecursiveDirectoryIterator?
Все круто, сервис действительно удобный. Не понятно только зачем документацию переводить. Хоть тег поставьте, что ли.
svscorp уже отлично ответил на Ваш комментарий и я с ним полностью согласен. От только одно забыл — если папка зависимостей не
«vendor» — то путь к ней всегда можно посмотреть в composer.json и ее имя или положение относительно корня проекта не иммет никакого значения.
Вы не задумывались о том, что бывают проекты совсем без фреймворков например, где структура папок определяется фантазией и чувством прекрасного разработчика?
Какие-то аргументы в пользу «хорошая» и «плохая» можно услышать?

Я бы тоже с удовольствием выслушал.
Я думаю что автор имел в виду использование composer автозагрузки доя классов своего проекта, а не библиотек. В таком случае это очень даже имеет смысл.
Теперь с помощью Composer все зависимости будут установлены в папку vendor в корне вашего проекта

Согласно документации, папку можно поменять — директивой «vendor-dir»

Странно что вы не упомянули «require-dev», т.к. часто есть библиотеки которые нет смысла хранить на production сервере.
Теги очень точно отражают смысл статьи, но все-равно спасибо :)
Прегенерируете основные размеры?

Нет, только по реквесту.

Кешируете результат навсегда?

Если файл найден — всегда отдается файл. Только если его нет — ресайзим (создаем нужный файл по запрошеному пути). Плюс у нас CDN, так что после того, как файл найден и отдан нашим сервером — он уже будет доступен в CDN для всех следуюших запросов.
Спасибо за интересную статью. Мы в свое вермя решили не заморачиваться, а использовать следующую конструкцию:

<picture data-alt="Eine neue Versus Karte" class="picture loading"> 
    <!--[if IE 9]><video class="is-hidden"<![endif]--> 
    <!-- Generic wide screen -->
    <source media="(min-width: 1024px)" 
            srcset="/files/teaser-hero/_946x/18022015-Hero49.jpg, /files/teaser-hero/_1888x18022015-Hero49.jpg 2x">
    <\/source> 
    <!-- iPad lanscape --> 
    <source media="(min-device-width: 769px) and (max-device-width: 1024px)" 
            srcset="/files/teaser-hero/_944x/18022015-Hero49.jpg, /files/teaser-hero/_1888x/18022015-Hero49.jpg 2x">
    <\/source>
    <!-- iPad portrait --> 
    <source media="(min-device-width: 481px) and (max-device-width: 768px)" 
            srcset="/files/teaser-hero/_768x/18022015-Hero49.jpg, /files/teaser-hero/_1536x/18022015-Hero49.jpg 2x">
    <\/source>
    <!-- iPhone 3-4 landscape --> 
    <source media="(min-device-width: 321px) and (max-device-width: 480px)" 
            srcset="/files/teaser-hero/_480x/18022015-Hero49.jpg, /files/teaser-hero/_944x/18022015-Hero49.jpg 2x">
    <\/source>
    <!-- iPhone 3-4 portrait --> 
    <source media="(max-device-width: 320px)" 
            srcset="/files/teaser-hero/_280x/18022015-Hero49.jpg, /files/teaser-hero/_560x/18022015-Hero49.jpg 2x">
    <\/source>
    <!--[if IE 9]></video><![endif]--> 
    <img alt="Eine neue Versus Karte" 
            srcset="/files/teaser-hero/_1888x/18022015-Hero49.jpg 2x" 
            src="/files/teaser-hero/_946x/18022015-Hero49.jpg"> 
</picture>

а на сервере перенаправялем все запросы по /files/* на скрипт ресайза (который использует ImageMagic и отдает картинку правильного размера).
Из Вики:
On December 8, 2014 a variation of the POODLE vulnerability that impacted TLS was announced.[6]
Имеется в виду логические связанные. Так удобнее обычно для дальнейше обработки.
phpExcel дает возможность получить итераторы сторк и столбцов. Обернув их в IteratorIterator или FilterIterator можно получить достаточно крутые возможности, а именно:

  • Читать строки «пачками», например по 6 штук сразу. Этот пример актуален если нужно читать какую-то свзанную информацию из таблицы, в моем случае это были данные клиентов компании.
  • Читать только необходимые строки. Например только те, у которых в указанной ячейке нужное значение.


И прочее-прочее. Еще очень удобно такие штуки дебажить с помощью LimitIterator. Ну это так все, из собственного опыта.
Let the holy war begin! Уважаемый автор. Спасибо Вам большое за статью и старание, но пожалуйста — не пишите больше. Из-за таких статей люди потом php-шников презирают. Спасибо за понимание.
Спасибо за подборку, занимательно. Одно только бросается в глаза — с каких пор Drupal стал фреймворком? Всегда был Cms вроде.
В том числе. А еще можно было бы привести пример переопределения итератора для строк/столбцов.
prishelec, это-то как раз понятно. Я имел в виду какой-нибудь сложный пример с чтением\записью смерженных ячеек. Ну да ладно :)
Спасибо за статью, очень порадовали примеры со стилями. Не хватает только инструкции по merged cells.

Information

Rating
Does not participate
Location
Frankfurt am Main, Hessen, Германия
Date of birth
Registered
Activity