Мощный и инновационный веб-фреймворк

Краткое содержание


UCMS является важной вехой в веб-разработке

Вступление

UCMS - это новая революционная среда PHP / CMS для разработки интернационализированных корпоративных веб-приложений.

Одной из ключевых функций является потрясающий шаблонизатор, основанный на синтаксисе Twig. Этот шаблонизатор является совершенно новым JavaScript-подобным языком программирования.

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

JavaScript-подобное программирование
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

Быть впереди времени

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

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

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

Динамические теги
  • {% addtag leetspeak as function( words ) {
  • return words.\strtr(
  • 'leet', '1337'
  • )
  • }
  • %}
  • {% leetspeak %}
  • And God said, 'Let there be light'
  • and there was light.
  • {% endleetspeak %}
Leetspeak
  • And God said, 'L37 7h3r3 b3 1igh7'
  • and 7h3r3 was 1igh7.

Программирование без ограничений

Вы можете вызывать любую функцию или метод непосредственно из ваших шаблонов, независимо от того, статические они или объектно-ориентированные.

И вы даже можете получить прямой доступ к своим константам класса и PHP.

Доступ к любому классу или функции
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Программирование на более высоком уровне

С новым Twig вы можете ссылаться на любую функцию, как в JavaScript, независимо от того, является ли она внутренней функцией PHP, методом Object, статической функцией в классе или функцией шаблона.

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

Ссылка на любую функцию
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Цепь любой функции
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Тьюринга полнота

Новый язык шаблонов - это язык программирования с полнотой по Тьюрингу.

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

Шаблоны и выражения компилируются в абстрактное синтаксическое дерево. Компилятор может обнаруживать и оптимизировать статические выражения, чтобы, например, 1 + 1 сохранялось как 2 в абстрактном синтаксическом дереве.

Этот новый революционный язык шаблонов сочетает в себе преимущества PHP, JavaScript и синтаксиса Twig в новом невероятном и всемогущем языке программирования.

Полная возможность сценария
  • {% script %}
  • function calcPi(accuracy = 1000)
  • {
  • pi = 4
  • hi = 4
  • lo = 3
  • ng = true
  • for(i = 0; i < accuracy; i++)
  • {
  • pi += ng ? -(hi / lo) : hi / lo
  • lo += 2
  • ng = !ng
  • }
  • return pi
  • }
  • {% endscript %}

Переводы с контекстом

Переводимые строки могут быть определены очень легко и автоматически извлекаются как .po файл.

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

Переводы со ссылками и форматированием могут быть созданы в сочетании с тегом уценки, и даже международные документы PDF возможны.

Никогда еще не было так легко создавать интернационализированные приложения.

SimpleExample.twig
  • {% context 'Views.Application.Example' %}
  • {%- translate -%}
  • Hello world!
  • {%- endtranslate %}
  • {% endcontext %}
Application.po
  • #: Views/Application/SimpleExample.twig:2
  • msgctxt "Views.Application.Example"
  • msgid "Hello world!"
  • msgstr "Hello world!"

Генератор PDF на основе шаблонов

Наша система имеет генератор PDF на основе шаблонов, который упрощает создание международных бизнес-документов.

В этом генераторе мы реализовали множество функций, например, поддержку UTF-8 и Unicode, шрифты TTF, множество фильтров и использование произвольных единиц измерения, таких как em, px, pt, mm, cm, in и%.

И это только малая часть функций PDF Generator.

Деловой PDF
  • <?xml version="1.0" encoding="UTF-8" ?>
  • <pdf size="A4">
  • <header>
  • <p font-size="2em">
  • <strong>
  • {%- trans 'Invoice' -%}
  • </strong>
  • </p>
  • </header>
  • <body>
  • <rotate angle="90" x="50%" y="50%">
  • <text x="50%" y="50%">
  • {%- trans 'Order number:' -%}
  • </text>
  • </rotate>
  • </body>
  • </pdf>

Быстрее, чем чистый PHP-код

Большое внимание было уделено тому, чтобы не добавлять ненужный балласт в код.

Ядро UCMS может обрабатывать запросы без выполнения запросов к базе данных. Единственные запросы, которые необходимо выполнить - это запросы вашего приложения.

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

Если тег кеша использовался разумно, то UCMS даже на Raspberry Pi работает быстрее, чем любая другая система на реальном веб-сервере.

Кэш-тег
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Кэшированный контент
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Простое управление

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

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

Бизнес Логика

Хотите узнать больше ?

Часто задаваемые вопросы

Могу ли я скачать UCMS бесплатно?

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

Будет ли когда-либо UCMS с открытым исходным кодом?

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

Какие способы оплаты я могу использовать?

Вы можете оплатить банковским переводом или PayPal. Оплата кредитной картой также возможна через PayPal, принимаются все основные кредитные карты от Visa, Mastercard, American Express и Discover.

Когда я получу лицензионный ключ?

Вы получите лицензионный ключ и исходный код, как только платеж будет зачислен на наш банковский счет. Если вы производите оплату через PayPal, мы отправим лицензионный ключ и исходный код с задержкой 3-5 дней после получения платежа, чтобы защитить нас от мошенничества с платежами.

Каковы условия лицензирования?

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

Могу ли я получить пользовательскую лицензию / поддержку?

Позвоните нам и позвольте нам поговорить об этом. Мы предлагаем множество дополнительных услуг, таких как: Консультация, поддержка или создание каркаса вашего приложения, если вы платите нам за это. Однако мы не управляем и не поддерживаем какие-либо проекты, и вам потребуется собственный разработчик для долгосрочного ведения вашего цифрового бизнеса.

Могу ли я опубликовать свой проект на Github?

Не разрешается передавать или публиковать исходный код UCMS полностью или частично. Это означает, что вы можете публиковать только свой собственный код, который вы написали сами, но вы не можете публиковать какие-либо части кода UCMS как открытый исходный код на github или аналогичном.

Получу ли я счет при покупке?

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

Должен ли я платить НДС?

Если вы проживаете в государстве-члене Европейского Союза, вы также должны заплатить НДС, применимый к вашей стране. Ставка НДС зависит от страны-члена ЕС, в которой вы проживаете. Если вы живете где-то еще, НДС нет.

Являются ли расходы UCMS не облагаемыми налогом?

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