Download the PHP package moro/symfony-layout without Composer

On this page you can find all versions of the php package moro/symfony-layout. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package symfony-layout

symfony-layout

Version 1.2.0

Описание возможностей и использования

При формировании страницы сайта основной контент, как правило, занимает только определённую её область, а остальную часть составляют независимые или слабо зависимые от него блоки. Для удобного описания размещения блоков следует использовать механизм "раскладок". Тогда описание списка блоков и их порядок записывается в отдельный файл в формате XML.

Формат файла раскладки

В данном примере за формирование HTML кода страницы отвечает стандартный шаблон "@SymfonyLayout/layout.html.twig", который представляет расположение блоков по горизонтальным полосам (stripe), разбитые на колонки (column) с блоками. Простой пример демонстрирует раскладку из одной полосы с одной колонкой, в которой располагается один блок с основным контентом сайта (на то что блок предназначен для основного контента указывает аттрибут id с значением container).

Добавим перед блоком с основным контентом блок главного меню сайта.

У данного блока есть URI контроллера который и будет вызван. При этом к нему будет добавлен GET параметер с именем active и значением, которое будет взято из объекта запроса по ключу heading. В примере это будет символьный код рубрики.

Для более удобного использования можно указать описание блока в отдельном XML файле.

Тогда XML раскладки будет иметь следующий вид.

При наследовании блока можно переопределить любой аргумент или добавить новый. Значение аргумента можно задавать следующими образами:

Кроме этого можно добавить атрибуты default и optional. При помощи первого добавляется значение "по умолчанию", которое будет присвоено если нет подходящего ключа в запросе или конфиге. В случае добавления атрибута optional (в качестве его значения выступает true или false) возможны два варианта: если нет атрибута default, то при отстутствия ключа в источнике аргумент будет проигнорирован, иначе он будет проигнорирован если его значение совпадёт с значением по умолчанию.

Сопоставление раскладки контроллеру

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

Теперь нам надо сопоставить контроллер с именем подходящей раскладки.

Первый способ - использовать аннотации

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

@Layout("layout_name", active="from('2018/10/11 12:00:00', 'Europe/Moscow') and to('2018/10/12')")
@Layout("layout_name", from="2018/10/11 12:00:00, Europe/Moscow, to="2018/10/12")
@Layout("layout_name")

Для конвертации даты используется класс \DateTime, следовательно можно использовать конструкции вида

Второй способ - использование сервиса

В данном случае вся логика выбора раскладки возлагается на код действия контроллера.


All versions of symfony-layout with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1
ext-json Version *
ext-simplexml Version *
sensio/framework-extra-bundle Version ^5.0
symfony/expression-language Version ^4.0
symfony/framework-bundle Version ^4.0
symfony/psr-http-message-bridge Version ^1.0
symfony/contracts Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package moro/symfony-layout contains the following files

Loading the files please wait ....