Потужний та інноваційний веб-фреймворк

Короткий підсумок


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-Fonts, багато фільтрів, і використання довільних одиниць, таких як em, px, pt, mm, cm, in і%.

І це лише невелика частина функцій генератора PDF.

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.