Статьи

Вклад в открытый исходный код — обновление Phalconphp.com

Некоторое время назад я написал руководство по установке Phalcon в Windows Azure . Однако на домашней странице Phalconphp.com все еще не упоминается Azure как поддерживаемая среда в разделе «Phalcon может быть установлен»:

В этом руководстве мы клонируем веб-сайт Phalconphp.com на нашу локальную виртуальную машину PuPHPet, обновим его, добавив новую информацию о поддерживаемой среде, и отправим запрос на извлечение владельцам проекта. Этот пост является духовным продолжением моего учебного пособия по извлечению запросов Dillinger.io , поэтому обязательно ознакомьтесь с ним, прежде чем двигаться дальше, поскольку в этом учебном пособии основное внимание будет уделено рабочему процессу PuPHPet, а не фактическому рабочему процессу запросов на извлечение.

Обратите внимание, что хотя я буду использовать PuPHPet для подготовки среды для запуска веб-сайта, вы никоим образом не связаны этим ограничением — если вы предпочитаете просто клонировать его в уже настроенную локальную среду, пожалуйста, не стесняйтесь чтобы сделать это, хотя я лично считаю, что путь PuPHPet быстрее, если вы просто делаете то, что я сделал.

Начальная конфигурация

Если вы еще не знакомы с PuPHPet, ознакомьтесь с руководством Мэтью Сеттера. Давайте посетим PuPHPet и настроим нашу виртуальную машину. Чтобы упростить для нас задачу, нужно помнить о том, где находится корень документа веб-сайта Phalcon, чтобы мы могли связать его с нашей виртуальной машиной. Если мы проверим их Github , мы увидим, что они используют стандартную public

Я выбрал следующие параметры, поэтому не стесняйтесь идти по моим стопам или скачать мою окончательную версию здесь (все, что я не упомянул, осталось по умолчанию):

  • Окружение: Местное
  • Сервер: Apache
  • ОС: Ubuntu Precise 12.04 x64 — Virtualbox 4.3
  • Название: upgrade-phalconphp
  • Установленные пакеты: vim
  • Часовой пояс: Европа / Загреб (оставьте по своему усмотрению, если хотите)
  • Установить XDebug: да
  • Параметры MySQL: db1, user1, pass1

Под виртуальным хостом Apache я поместил значения следующим образом:

Создайте и загрузите архив, поместите его в папку с вашими бродячими ящиками и разархивируйте.

Далее, давайте добавим сценарий предоставления Phalcon из этой статьи в подпапку оболочки и добавим следующую строку под всеми блоками предоставления в Vagrantfile:

 config.vm.provision :shell, :path => "shell/install_phalcon.sh"

Это обеспечит установку Phalcon при загрузке виртуальной машины.

Затем мы должны убедиться, что сайт готов к работе при загрузке виртуальной машины. Сначала нам нужно раскошелиться на репозиторий сайта. Перейдите на https://github.com/phalcon/website и раскошелиться.

Клонируйте свою вилку в корневой каталог папки:

 git clone http://github.com/YOUR_USERNAME/website

После клонирования структура моей папки выглядела так:

Если вы использовали описанную выше процедуру PuPHPet, запустите vagrant up Если вы выбрали Apache в качестве сервера, как я, после загрузки виртуальной машины вам, возможно, придется отключить vhost по умолчанию. Вы можете сделать это, выполнив SSHing с vagrant vagrant ssh

 sudo a2dissite 15-default.conf
sudo service apache2 reload

Это удаляет конфигурацию по умолчанию, оставляя в живых только ту, которую мы настроили в PuPHPet в разделе «Виртуальный хост». Поскольку веб-сайт Phalcon не использует базу данных (большая часть материала является статической), мы можем немедленно запустить ее локально, без необходимости каких-либо дальнейших изменений:

Могут быть некоторые предупреждения о том, что PHP не может записать в каталог кеша в папке с исходным кодом, но сейчас мы не будем иметь дело с этим, поскольку это не так важно для этого конкретного быстрого исправления.

Подключите репо к исходному апстриму, затем создайте новую ветку с именем adding-azure

 git remote add --track master upstream http://github.com/phalcon/website
git branch adding-azure
git checkout adding-azure

Теоретически, мы могли бы добавить команды отключения vhost по умолчанию и процедуру git в окончательный файл оболочки предоставления. Я оставлю это на ваше усмотрение для экспериментов.

Обновление сайта

Наконец, мы можем начать работать.

Соответствующие файлы будут:

  • app/views/index/index.volt
  • app/views/pages/hosting.volt

Нам также понадобится новый файл изображения в качестве логотипа для Windows Azure. Я сделал один, который вы можете скачать:

Добавьте это изображение в public/images/hosting Поскольку все изображения хостинг-провайдера в этой папке имеют свой цветной аналог, даже если цветная версия никогда не используется, давайте уважать эту традицию и добавим нашу собственную.

Далее нам нужно отредактировать домашнюю страницу, чтобы включить изображение в ссылку для набора изображений. Откройте index.volt

 <img src="{{ cdn_url }}images/hosting/azure-gray.jpg" alt="Windows Azure" />

Теперь введите hosting.volt<tr> Измените этот контент, чтобы он отражал Azure, например:

         <tr>
            <td align="center">
                <img src='{{ cdn_url ~ 'images/hosting/azure-gray.jpg' }}' title='Windows Azure' alt='Windows Azure' />
            </td>
            <td>
                <h4><a target="_blank" href='http://www.windowsazure.com'>Windows Azure</a></h4>
                <p>{{ tr('hosting_azure_1', 'http://www.windowsazure.com') }}</p>
                <p>{{ tr('hosting_azure_2', 'http://www.sitepoint.com/phalcon-windows-azure/') }}</p>
            </td>
        </tr>

Обратите внимание, как мы использовали некоторые заполнители перевода, такие как hosting_azure_1 Это связано с тем, что Phalcon использует языковые файлы в качестве многоязычного сайта, а фактический текст контента, представленного на сайте, определен в другом месте.

Эти языковые файлы находятся в app/var/languages Это простые массивы key => value, определенные в файлах PHP и легко редактируемые.

Откройте файл en.php Внизу этого раздела добавьте наш собственный:

 'hosting_azure_1'    => "The <a href=':1:'>Windows Azure cloud</a> provides you with highly scalable and manageable Windows hosting for your web apps. Use Phalcon to reduce your instance costs.",
'hosting_azure_2'    => "To install Phalcon, follow the step by step procedure in <a href=':1:'>this SitePoint article</a>.",

Конечный результат должен выглядеть примерно так:

и когда вы перезагрузите страницу хостинга:

Если вы чувствуете себя очень щедрым, добавьте несколько других переводов в другие языковые файлы — я уверен, что команда Phalcon будет признательна.

Отправка запроса извлечения

После того, как мы добавим все в Git с помощью git add

После нажатия мы отправляем запрос на извлечение.

Вывод

Все, что осталось сделать сейчас, это подождать и посмотреть, примут ли разработчики это. Независимо от того, проходит ли пиар или нет, эта статья научила вас, как на самом деле просто внести свой вклад в проект с открытым исходным кодом.

Если вы хотите, чтобы ваш вклад увеличивался или вам просто нужно было медленно, но верно приобретать некоторый опыт, ищите проекты, которые нуждаются в помощи. Начните с малого, как мы делали в этой статье — внося изменения в HTML и текст, затем медленно переходите к надлежащей функциональности, поскольку некоторые из них отсутствуют.

Если у вас есть свой рассказ, которым вы хотели бы поделиться, конкретный запрос или просто общий отзыв относительно этой статьи, пожалуйста, не стесняйтесь оставлять это в комментариях ниже!