Моћан и иновативан веб оквир

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


УЦМС представља прекретницу у развоју веба

Увод

УЦМС је нови револуционарни ПХП оквир / ЦМС за развој интернационализованих пословних веб апликација.

Једна од кључних карактеристика је одличан шаблон који се заснива на синтакси Твиг-а. Овај предложак је потпуно нови програмски језик сличан ЈаваСцрипту.

Захваљујући снази овог новог језика шаблона, ствари се могу програмирати да се претходно чинило потпуно немогућим.

Програмирање слично ЈаваСцрипту
  • {% 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 %}
Леетспеак
  • And God said, 'L37 7h3r3 b3 1igh7'
  • and 7h3r3 was 1igh7.

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

Можете позвати било коју функцију или метод директно из ваших шаблона, без обзира да ли су статични или објектно оријентисани.

Можете чак и директно приступити својим константама класе и ПХП константама.

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

Програмирање на вишем нивоу

Са новим Твиг-ом можете референцирати било коју функцију као што је ЈаваСцрипт, без обзира да ли је то ПХП-интерна функција, Објецт метода, статичка функција у класи или функција шаблона.

Поред тога, било која интерна функција ПХП-а, било која функција шаблона и било који макронаредба шаблона могу бити уланчани као у ЈаваСцрипт-у, тако да можете написати врло читљив код који је лако разумљив.

Референца било које функције
  • {% 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 у стаблу апстрактне синтаксе.

Овај нови револуционарни шаблонски језик комбинује предности ПХП, ЈаваСцрипт и Твиг синтаксе, у новом невероватном и свемогућем програмском језику.

Потпуна способност скрипте
  • {% 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 %}

Преводи са контекстом

Преведиви низови могу се дефинисати врло лако и аутоматски се екстрахују као .по датотека.

Контекст превода, изрази, формулари за множину и коментари преводиоца такође се могу користити.

Преводи са линковима и форматирањем могу бити креирани у комбинацији са ознаком за смањење, а могућа су и интернационализована ПДФ документа.

Никада није било лако креирати интернационализоване апликације.

СимплеЕкампле.твиг
  • {% context 'Views.Application.Example' %}
  • {%- translate -%}
  • Hello world!
  • {%- endtranslate %}
  • {% endcontext %}
Апплицатион.по
  • #: Views/Application/SimpleExample.twig:2
  • msgctxt "Views.Application.Example"
  • msgid "Hello world!"
  • msgstr "Hello world!"

Генератор ПДФ-а на основу предложака

Наш систем има ПДФ генератор базиран на шаблонима који олакшава креирање интернационализованих пословних докумената.

Ми смо имплементирали много могућности у овом генератору, на пример, УТФ-8 и Уницоде подршку, ТТФ-Фонтове, многе филтере, и коришћење произвољних јединица као што су ем, пк, пт, мм, цм, ин и%.

А то је само мали део функција ПДФ генератора.

Пословни ПДФ
  • <?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>

Бржи од чистог пхп кода

Велика пажња посвећена је томе да се коду не дода непотребан баласт.

УЦМС кернел може да обради захтеве без извршавања упита за базу података. Једини упити које је потребно извршити су они из ваше апликације.

Предложак може да кешира генерисани садржај, што резултира изузетно брзом обрадом која је чак и бржа од ПХП кода.

Ако је ознака кеша мудро коришћена, онда је УЦМС чак и на Распберри Пи бржем од било ког другог система на правом веб серверу.

Цацхе таг
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Цацхед цонтент
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Једноставно управљање

Пословну логику можете да управљате као структуру стабла која садржи све релевантне особине, укључујући права приступа која функционишу на исти начин као у систему датотека.

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

Пословна логика

Желите ли знати више?

Често постављана питања

Могу ли бесплатно да преузмем УЦМС?

Развијање овог софтвера је одузело много времена, новца и искуства. Ове трошкове треба покрити. Из тог разлога, потребна је лиценца за коришћење УЦМС-а.

Да ли ће УЦМС бити отворени извор?

Након што се трошкови развоја амортизују, можемо објавити изворни код и омогућити бесплатну некомерцијалну употребу за појединце (али не и за компаније). Не треба очекивати да ће се то догодити у блиској будућности, прије 2021. или касније.

Које начине плаћања могу да користим?

Можете платити путем банковног трансфера или ПаиПал-а. Плаћање кредитном картицом је такође могуће путем ПаиПал-а, прихваћене су све главне кредитне картице од Виса, Мастерцард, Америцан Екпресс и Дисцовер.

Када ћу добити кључ лиценце?

Добићете лиценцни кључ и изворни код чим се уплата изврши на наш банковни рачун. Ако платите са ПаиПал-ом, послат ћемо вам лиценцни кључ и изворни код са закашњењем од 3-5 дана након пријема уплате како би нас заштитили од преваре плаћања.

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

Иматељима лиценце одобравамо не-ексклузивну, непреносиву, непродиву, трајну лиценцу за кориштење овог софтвера за један интернет домен. Ова софтверска лиценца се не може пренети трећим странама или препродати.

Могу ли добити прилагођену лиценцу / подршку?

Позовите нас и пустите нас да причамо о томе. Нудимо многе додатне услуге, као што су: Савет, подршка или креирање скелета ваше апликације ако нам платите за то. Међутим, ми не управљамо нити одржавамо било које пројекте, и требат ће вам властити развојни програмер који ће водити ваш дигитални посао на дужи рок.

Могу ли објавити свој пројекат на Гитхубу?

Није дозвољено преношење или објављивање изворног кода УЦМС-а у целини или делимично. То значи да можете објавити свој властити код који сте сами написали, али не можете објавити ниједан дио УЦМС кода као опен соурце на гитхуб или слично.

Да ли ћу добити фактуру ако купим?

Наравно, након слања наруџбенице добићете потврду наруџбе / про форма фактуру (која није релевантна за порез). Коначна фактура (и значајан порески закон) шаље се заједно са кључем лиценце и изворним кодом након пријема плаћања.

Да ли морам да платим ПДВ?

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

Да ли УЦМС кошта порез који се одбија од пореза?

Обавезно питајте свог рачуновођу! Ако сте фирма, шансе су врло добре да можете у потпуности или барем дјеломично одузети порез. У идеалном случају, не кошта вам ништа за куповину УЦМС лиценце.