Cadru web puternic și inovator

Rezumat scurt


UCMS este o piatră de hotar în dezvoltarea web

Introducere

UCMS este un nou framework PHP / CMS revoluționar pentru dezvoltarea de aplicații web internaționale de întreprindere.

Una dintre caracteristicile cheie este motorul minunat de șablon care se bazează pe sintaxa Twig. Acest motor de șablon este un limbaj de programare complet nou.

Datorită puterii acestui nou limbaj de șabloane, lucrurile pot fi programate, care până acum păreau absolut imposibile.

Programare ca JavaScript
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

Înainte de vremuri

Noua limbă a șabloanelor include multe noi paradigme de programare, cum ar fi o interfață de funcții străine, funcții anonime, callbacks, etichete dinamice, expresii de funcții, lanțuri de metode, currying și scripting.

Datorită muncii grele a unui programator genial, noul limbaj de șabloane este un limbaj de programare atotputernic care oferă multe soluții noi și face posibil lucrurile imposibile.

Puteți obține această nouă tehnologie aici, deoarece ar fi nevoie de ani pentru a dezvolta ceva similar.

Etichete dinamice
  • {% 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.

Programare fara limite

Puteți apela orice funcție sau metodă direct din șabloanele dvs., indiferent dacă sunt statice sau orientate pe obiecte.

Și puteți chiar să accesați constantele de clasă și constantele PHP direct.

Accesați orice clasă sau funcție
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programarea la un nivel mai înalt

Cu noul Twig puteți face referință la orice funcție ca în JavaScript, indiferent dacă este o funcție internă PHP, o metodă Object, o funcție statică într-o funcție de clasă sau un șablon.

În plus, orice funcție internă PHP, orice funcție de șablon și orice macrocomandă șablon poate fi înlănțuită ca în JavaScript, astfel încât să puteți scrie un cod foarte ușor de citit, ușor de înțeles.

Indicați orice funcție
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Lansează orice funcție
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing completată

Noul limbaj al șabloanelor este un limbaj de programare cu caracterul complet al Turing.

Puteți folosi toate structurile și paradigmele de control ca în orice alt limbaj de programare modern.

Șabloanele și expresiile sunt compilate într-un arbore de sintaxă abstractă. Compilatorul poate detecta și optimiza expresii statice, astfel încât, de exemplu, 1 + 1 este stocat ca 2 în arborele sintaxei abstracte.

Acest nou limbaj revoluționar de șabloane combină avantajele PHP, JavaScript și sintaxa Twig, într-un nou limbaj de programare incredibil și atotputernic.

Capacitatea de scriere completă
  • {% 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 %}

Traduceri cu context

Valorile translatabile pot fi definite foarte ușor și extrase automat ca fișiere .po.

Pot fi utilizate și un context de traducere, expresii, forme pluraliste și comentarii traducătoare.

Traducerile cu legături și formatare pot fi create în combinație cu eticheta de marcare și sunt posibile chiar și documente internaționale PDF.

Nu a fost niciodată atât de ușor să creați aplicații internaționalizate.

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!"

Generator PDF bazat pe șabloane

Sistemul nostru are un generator PDF bazat pe șablon care face mai ușor decât oricând să creeze documente de afaceri internaționalizate.

Am implementat o mulțime de caracteristici în acest generator, de exemplu suport UTF-8 și Unicode, fonturi TTF, multe filtre și utilizarea unor unități arbitrare precum em, px, pt, mm, cm și%.

Și aceasta este doar o mică parte din funcțiile generatorului PDF.

Afaceri 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>

Mai repede decât codul php pur

O mare atenție a fost luată pentru a nu adăuga balast inutil la cod.

Kernelul UCMS poate gestiona cererile fără a executa interogări baze de date. Singurele interogări care trebuie executate sunt cele ale aplicației dvs.

Motorul de șabloane poate să cacheze conținutul generat, rezultând o procesare extrem de rapidă, care este chiar mai rapidă decât codul PHP.

Dacă eticheta cache a fost folosită cu înțelepciune, atunci UCMS este chiar mai rapid pe un Raspberry Pi decât orice alt sistem de pe un server web real.

Eticheta cache
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Conținutul stocat în cache
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Gestionare simplă

Puteți gestiona logica dvs. de afaceri ca o structură arborescentă care conține toate proprietățile relevante, inclusiv drepturile de acces care funcționează în același mod ca într-un sistem de fișiere.

Obiectul arbore are o serie de metode utile, care ușurează generarea de navigări ale site-ului, cum ar fi meniuri, bare laterale, căi de navigare și multe altele.

Lociga afacerii

Vreți să știți mai multe?

întrebări frecvente

Pot descărca gratuit UCMS?

Dezvoltarea acestui software a luat mult timp, bani și experiență. Aceste costuri trebuie acoperite. Din acest motiv, este necesară o licență pentru utilizarea UCMS.

UCMS va fi vreodată o sursă deschisă?

După ce costurile de dezvoltare au fost amortizate, este posibil să publicăm codul sursă și să permitem folosirea gratuită necomercială a persoanelor fizice (dar nu și a companiilor). Nu trebuie să vă așteptați ca acest lucru să se întâmple în viitorul apropiat, mai degrabă în 2021 sau mai târziu.

Ce metode de plată pot folosi?

Puteți plăti prin transfer bancar sau prin PayPal. Plățile prin carduri de credit sunt, de asemenea, posibile prin intermediul PayPal, toate cardurile de credit majore de la Visa, Mastercard, American Express și Discover sunt acceptate.

Când primesc cheia de licență?

Veți primi cheia de licență și codul sursă de îndată ce plata a fost creditată în contul nostru bancar. Dacă plătiți cu PayPal, vom trimite cheia de licență și codul sursă cu o întârziere de 3-5 zile de la primirea plății pentru a ne proteja de fraudarea plăților.

Care sunt termenii de licențiere?

Acordăm titularilor de licențe o licență perpetuală neexclusivă, netransferabilă, care nu se poate restitui, pentru a utiliza acest software pentru un domeniu de internet. Această licență software nu poate fi transferată terților sau revândută.

Pot obține o licență / suport personalizat?

Sunați-ne și lăsați-ne să vorbim despre asta. Oferim multe servicii suplimentare, cum ar fi: Sfaturi, sprijin sau crearea unui schelet al aplicației dvs. dacă ne plătiți pentru acest lucru. Cu toate acestea, nu gestionăm și nu menținem niciun proiect și veți avea nevoie de propriul dvs. dezvoltator pentru a vă derula afacerea dvs. digitală pe termen lung.

Pot publica proiectul meu pe Github?

Nu este permisă transmiterea sau publicarea codului sursă UCMS integral sau parțial. Aceasta înseamnă că puteți să vă publicați numai propriul cod pe care l-ați scris, dar nu puteți publica nici o parte a codului UCMS ca sursă deschisă pe github sau similar.

Voi primi o factură dacă achiziționez?

Desigur, după trimiterea formularului de comandă, veți primi o confirmare a comenzii / factură pro forma (care nu are relevanță fiscală). Factura finală (și legea fiscală semnificativă) este trimisă împreună cu cheia dvs. de licență și cu codul sursă după primirea plății.

Trebuie să plătesc TVA?

Dacă locuiți într-un stat membru al Uniunii Europene, trebuie să plătiți și TVA-ul aplicabil țării dumneavoastră. Rata TVA depinde de statul membru UE în care locuiți. Dacă locuiți în altă parte, nu există TVA.

Sunt deductibile impozitul pe costurile UCMS?

Asigurați-vă că vă întrebați pe contabilul dvs.! Dacă sunteți o companie, șansele sunt foarte bune că puteți deduce costurile integral sau cel puțin parțial din impozit. În cazul ideal, nu vă costă nimic să cumpărați o licență UCMS.