38 заметок с тегом: руководство
Здесь я пишу свои идеи, мысли, описываю события своей жизни и просто делаю личные и рабочие заметки. «А Вы что, собираетесь жить вечно?»
38 заметок с тегом

руководство

Структура файлов расширения

25 сентября 2012, 20:56

Строгая структуризация файлов расширений позволяет Symphony автоматически определять и загружать расширения.

Обзор

Структура файлов расширения создаёт определённый макет расположения и именования файлов, позволяя тем самым системе автоматически определять и загружать расширения.

Использование

При создании расширения просто следуйте конвенции описанной ниже.

Детали

Обзор

Расширения должны быть структурированы следующим образом. Обратите внимание, что обязательным файлом является лишь extension.driver.php. Остальный файлы могут быть добавлены по мере необходимости.


    yourextension/
        assets/
            sample.js
            sample.css
        content/
            content.index.php
            content.sample.php
        data-sources/
            datasource.sample.php
        events/
            event.sample.php
        fields/
            field.sample.php
        lang/
            lang.de.php
            lang.es.php
        lib/
            yourphplibs.php
        text-formatters/
            formatter.sample.php
        extension.driver.php
        license
        README


assets/

Хотя фактически каталог не используется для автоматического подключения файлов, но в него помещаются CSS файлы, JavaScript и изображения.

content/

Файлы в данном каталоге автоматически подключаются и используются для генерации страниц в панели управления. Файл content.sample.php будет доступен по адресу /symphony/extension/yourextension/sample, а файл content.index.php по адресу /symphony/extension/yourextension

data-sources/

Любые источники данных, которые будут предоставлены расширением, должны быть размещены здесь для автоматического подключения.

events/

Любые события, которые будут предоставлены расширением, должны быть размещены здесь для автоматического подключения.

fields/

Любые типы полей, которые будут предоставлены расширением, должны быть размещены здесь для автоматического подключения.

lang/

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

lib/

Так же как и каталог assets, каталог lib не используется для автоматического подключения файлов, но используется для хранения дополнительных файлов библиотек, используемых в работе расширения.

text-formatters/

Любые парсеры текста, которые будут предоставлены расширением, должны быть размещены здесь для автоматического подключения.

extension.driver.php

Файл extension.driver.php используется для инициализации, включения, удаления и обновления расширения, а так же для подписывания на делегаты. Данный файл является обязательным.

license or licence

Текстовый файл описывающий лицензию использования расширения.

README or README.markdown

README файл для расширения. Обычно данный файл содержит основную информацию (имя расширения, версию и дату релиза), информацию разработчика (имя, email и адрес веб-сайта) и информацию о установке и использовании расширения.

The Big Picture

Структура файла расширения это важная часть API расширений Symphony (документация находиться в разработке).

Делегаты

25 сентября 2012, 15:15

Делегаты позволяют разработчикам управлять входными и выходными данными, а так же управлять различными задачами при генерации внутренних и пользовательских страниц проекта.

Обзор

Делегаты представляют собой функции ядра Symphony, которые позволяют разработчикам расширений влиять на генерацию внешних и внутренних страниц системы. Как правило, делегаты используются в контексте PHP объектов (объектов страниц или событий), таким образом разработчик может передавать и получать данные при работе с делегатами.

Использование

Расширения могут подписываться на делегаты системы при помощи объявления функции getSubscribedDelegates() в файле extension.driver.php, как показано ниже:

   public function getSubscribedDelegates(){
        return array(
            array(
                'page' => '/delegatepage/',
                'delegate' => 'DelegateName',
                'callback' => 'extensionFunction'
            ),
        );
    }

Функция getSubscribedDelegates() должна вернуть массив подписки, каждый массив представляет собой три пары ключ/значение: страница, делегат и обратный вызов. Первые два значения определяются сам делегат (см. список ниже). Последнее значение является именем функции обратного вызова, предоставляемой расширением.

Для получения дополнительной информации о делегатах смотрите документацию.

Расширения

25 сентября 2012, 12:45

Расширения добавляют в проекты Symphony дополнительный функционал.

Обзор

Расширения позволяют добавлять различные дополнительные функции к вашим проектам Symphony.
Некоторые дополнительные расширения добавляют дополнительные типы полей, парсеры текстов, расширяют возможности панели управления или добавляют совершенно новые возможности. В Symphony есть API для расширений (документация в процессе написания), который позволяет облегчить написание дополнительных расширений.

Использование

Все расширения следует копировать к каталог extensions/.

Управление расширениями осуществляется через панель управления в меню Система > Расширения. Индивидуальное или групповое управление осуществляется при помощи выпадающего меню в самом низу страницы управления расширениями. Вы можете включать, отключать или удалять расширения.

Детали

Ниже представлено описание семи основных расширений системы:

Расширение Описание
Debug Devkit Представляет собой инструментарий разработчика и позволяет производить отладку, профилирование и другие задачи при разработке сайта.
Экспорт сборки Расширение для создания сборок через панель управления администратора.
Select Box Link Дополнительный типа полей, позволяющий создавть связи между разделами.
JIT Image Manipulation Расширение позволяющее изменять изобращения на лету с помощью специально сформированного URL адреса.
Режим обслуживания Позволяет закрывать сайт на время проведения работ.
Markdown Text Formatter Расширение, которое добавлят парсер текста Markdown и применяет его к текстовым полямы.
Profile Devkit Дополняет инструментарий разработчика и позволяет производить отладку, профилирование и другие задачи при разработке сайта.

The Big Picture

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

Сборки (Ансамбли)

25 сентября 2012, 10:30

Сборки (Ensembles) Symphony представляют собой проекты, включающие в себя все рабочие файты, базы данных и установочные файлы.

Обзор

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

Использование

Создание сборок осуществляется в панели управления в разделе Система > Настроки, нажатием на кнопку «Создать сборку». Примечание: необходимо, чтобы на серверы был установлен PHP модуль для работы с ZIP.

Установка сборки осуществляется так же, как и обычная установка движка (см. «Установка Symphony»)

Обратите внимание, что при создании сборки, все сторонние таблицы дополнительных модулей не копируются. Если вам необходимо перенести эти данные, то вам следует самому позаботиться о SQL бэкапах этих данных. Полное копирование всех данных будет реализовано в следующих релизах Symphony.

Детали

Сборки по своей сути представляют копию проекта Symphony с его структурой и внешним видом.

The Big Picture

Сборки это удобный способ сохранения и распространения своих проектов. Потому что Symphony это открытый и легко расширяемы движок, который может использоваться в различных целях. Например, разработчики могут создавать готовые и очень гибкие системы управления сайтами или веб-приложения, а затем упаковав их распространять среди пользователей, которые могу установить сборку всего за несколько кликов мышью. Студии же могут создавать сборки, которые будут служить скелетами для их проектов.

Фильтры событий

25 сентября 2012, 10:05

Фильтры событий устанавливают дополнительные условия для срабатывания событий.

Обзор

Фильтры событий представляют собой скрипты, которые прикрепляются к событиям и определяют дополнительные условия или действия, выполняющиеся при выполнении события.
Фильтры событий используются, например, для отправки уведомлений и операций по спам фильтрации сообщений. По умолчанию в Symphony имеется три фильтра; дополнительные фильтры доступны в виде расширений.

Использование

Фильтры событий могут быть прикреплены к событию в редакторе событий. Некоторые фильтры, требуют дополнительных настроек, например, установка дополнительного поля на странице пользователя.

Детали

Описание трёх основных фильтров, доступных в Symphony по умолчанию:

Фильтр Функция
Только для администратора (Admin Only) Событие может быть вызвано только авторизованым администратором системы.
Отправка уведомления (Send Email) При выполнении события, система отправляет письмо администратору.
Множественные изменения (Allow Multiple) Разрешает изменение нескольких записей.
Ctrl + ↓ Ранее