Моќна и иновативна веб рамка

Кратко резиме


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>

Бидете пред времето

Новиот јазик на шаблонот вклучува многу нови програмски парадигми како интерфејс за странски функции, анонимни функции, обрасци, динамички ознаки, експресии на функции, скенирање на методи, curging и scriptability.

Благодарение на напорна работа на брилијантен програмер, новиот шаблонски јазик е семоќен програмски јазик кој нуди многу нови решенија и ги прави невозможни работи можни.

Можете да ја добиете оваа нова технологија само затоа што ќе бидат потребни години за да се развие нешто слично.

Динамички ознаки
  • {% 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-внатрешна функција, објект метод, статичка функција во класа или дефиниција функција.

Покрај тоа, секоја внатрешна функција на 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 дена по приемот на плаќањето за да не заштитиме од измама во плаќањето.

Кои се условите за лиценцирање?

Ние им даваме на носителите на лиценца неисклучива, непренослива, непренослива, постојана лиценца за користење на овој софтвер за еден интернет домен. Оваа софтверска лиценца не може да се пренесе на трети страни или да се препродаде.

Може ли да добијам сопствена лиценца / поддршка?

Јавете ни се и нека зборуваат за тоа. Ние нудиме многу дополнителни услуги, како што се: Совет, поддршка или создавање на скелет на вашата апликација ако ни платите за ова. Сепак, ние не управуваме или одржуваме било какви проекти, и ќе ви треба свој инвеститор за да го извршите вашиот дигитален бизнис на долг рок.

Можам ли да го објавам мојот проект за Гитуб?

Не е дозволено да го предаде или да го објави изворниот код на UCMS во целост или делумно. Ова значи дека можете да го објавите само сопствениот код што го напишавте, но не можете да ги објавите сите делови од UCMS-кодот како отворен извор на github или слично.

Ќе добијам фактура дали ќе купам?

Се разбира, по испраќањето на формуларот за нарачка, ќе добиете потврда за нарачка / проформа (што е без даночна важност). Конечната фактура (и значително даночно право) се испраќа заедно со клучот за лиценца и изворниот код по приемот на уплатата.

Дали треба да платам ДДВ?

Ако живеете во земја-членка на Европската унија, исто така мора да го платите ДДВ кој важи за вашата земја. Стапката на ДДВ зависи од земјата членка на ЕУ во која живеете. Ако живеете некаде на друго место, нема ДДВ.

Дали UCMS ги намалува даноците?

Бидете сигурни да го прашате вашиот сметководител! Ако сте компанија, шансите се многу добри што може целосно или барем делумно да ги одземете од данокот. Во идеален случај, тоа не чини ништо да купите лиценца UCMS.