Quadro web potente e innovativo

Breve riassunto


UCMS è una pietra miliare nello sviluppo web

introduzione

UCMS è un nuovo rivoluzionario framework PHP / CMS per lo sviluppo di applicazioni Web enterprise internazionalizzate.

Una delle caratteristiche principali è il fantastico motore di template basato sulla sintassi Twig. Questo motore di template è un linguaggio di programmazione completamente nuovo simile a JavaScript.

A causa della potenza di questo nuovo linguaggio template, è possibile programmare le cose che in precedenza sembravano completamente impossibili.

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

Sii in anticipo sui tempi

Il nuovo linguaggio template include molti nuovi paradigmi di programmazione come un'interfaccia di funzione straniera, funzioni anonime, callback, tag dinamici, espressioni di funzioni, concatenamento di metodi, curring e scriptability.

Grazie al duro lavoro di un brillante programmatore, il nuovo linguaggio template è un linguaggio di programmazione onnipotente che offre molte nuove soluzioni e rende possibili cose impossibili.

Puoi ottenere questa nuova tecnologia solo perché ci vorranno anni per sviluppare qualcosa di simile.

Tag dinamici
  • {% 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.

Programmazione senza limiti

Puoi chiamare qualsiasi funzione o metodo direttamente dai tuoi modelli, non importa se sia statico o orientato agli oggetti.

E puoi anche accedere direttamente alle costanti di classe e alle costanti PHP.

Accedi a qualsiasi classe o funzione
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programmazione ad un livello superiore

Con il nuovo Twig puoi fare riferimento a qualsiasi funzione come in JavaScript, indipendentemente dal fatto che si tratti di una funzione interna PHP, un metodo Object, una funzione statica in una classe o una funzione template.

Inoltre, qualsiasi funzione interna PHP, qualsiasi funzione modello e qualsiasi macro modello può essere concatenata come in JavaScript, in modo da poter scrivere un codice leggibile che sia facile da capire.

Riferimento a qualsiasi funzione
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Catena qualsiasi funzione
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing completezza

Il nuovo linguaggio template è un linguaggio di programmazione con completezza di Turing.

Puoi usare tutte le strutture di controllo e i paradigmi come in qualsiasi altro linguaggio di programmazione moderno.

I modelli e le espressioni sono compilati in un albero di sintassi astratto. Il compilatore può rilevare e ottimizzare le espressioni statiche in modo che, ad esempio, 1 + 1 sia memorizzato come 2 nell'albero di sintassi astratto.

Questo nuovo linguaggio template rivoluzionario combina i vantaggi di PHP, JavaScript e della sintassi Twig, in un nuovo incredibile e onnipresente linguaggio di programmazione.

Completa abilità di script
  • {% 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 %}

Traduzioni con contesto

Le stringhe traducibili possono essere definite molto semplici ed estrapolate automaticamente come file .po.

È inoltre possibile utilizzare un contesto di traduzione, espressioni, forme plurali e commenti di traduttore.

Le traduzioni con collegamenti e formattazione possono essere create in combinazione con il tag markdown e sono anche possibili documenti PDF internazionalizzati.

Non è mai stato così facile creare applicazioni internazionalizzate.

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

Generatore di PDF basato su template

Il nostro sistema ha un generatore di PDF basato su template che rende più facile che mai creare documenti aziendali internazionalizzati.

Abbiamo implementato molte funzionalità in questo generatore, ad esempio supporto UTF-8 e Unicode, caratteri TTF, molti filtri e l'uso di unità arbitrarie come em, px, pt, mm, cm, in e%.

E questa è solo una piccola parte delle funzioni di PDF Generator.

PDF aziendale
  • <?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>

Più veloce del puro codice PHP

È stata prestata molta attenzione a non aggiungere zavorra inutile al codice.

Il kernel UCMS può gestire le richieste senza eseguire query sul database. Le sole query che devono essere eseguite sono quelle della tua applicazione.

Il motore di template può memorizzare nella cache il contenuto generato, risultando in un'elaborazione estremamente veloce che è persino più veloce del codice PHP.

Se il tag della cache è stato usato con saggezza, allora l'UCMS è persino su un Raspberry Pi più veloce di qualsiasi altro sistema su un server web reale.

Tag Cache
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Contenuto nella cache
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Gestione semplice

Puoi gestire la tua logica aziendale come una struttura ad albero che contiene tutte le proprietà pertinenti, inclusi i diritti di accesso che funzionano allo stesso modo di un file system.

L'oggetto tree ha una serie di metodi utili che facilitano la generazione di navigazioni del sito come menu, barre laterali, percorsi di navigazione e molto altro.

Logica di business

Vuoi saperne di più?

Domande frequenti

Posso scaricare l'UCMS gratuitamente?

Lo sviluppo di questo software ha richiesto molto tempo, denaro ed esperienza. Questi costi devono essere coperti. Per questo motivo, è richiesta una licenza per utilizzare l'UCMS.

L'UCMS sarà mai open source?

Dopo che i costi di sviluppo sono stati ammortizzati, potremmo pubblicare il codice sorgente e consentire l'uso gratuito non commerciale per i privati ​​(ma non per le società). Non dovresti aspettarti che ciò accada nel prossimo futuro, piuttosto nel 2021 o più tardi.

Quali metodi di pagamento posso usare?

Puoi pagare con bonifico bancario o PayPal. I pagamenti con carta di credito sono possibili anche tramite PayPal, sono accettate tutte le principali carte di credito di Visa, Mastercard, American Express e Discover.

Quando ricevo la chiave di licenza?

Riceverai la chiave di licenza e il codice sorgente non appena il pagamento sarà stato accreditato sul nostro conto bancario. Se paghi con PayPal, invieremo la chiave di licenza e il codice sorgente con un ritardo di 3-5 giorni dal ricevimento del pagamento per proteggerci dalle frodi di pagamento.

Quali sono i termini della licenza?

Concediamo ai titolari di licenza una licenza non esclusiva, non trasferibile, non rivendibile e perpetua per utilizzare questo software per un dominio Internet. Questa licenza software non può essere trasferita a terzi o rivenduta.

Posso ottenere una licenza / supporto personalizzato?

Chiamaci e lasciaci parlare di questo. Offriamo molti servizi aggiuntivi, come: consulenza, supporto o creazione di uno scheletro dell'applicazione se ci paghi per questo. Tuttavia, non gestiamo o gestiamo alcun progetto e avrete bisogno del vostro sviluppatore per gestire il vostro business digitale a lungo termine.

Posso pubblicare il mio progetto su Github?

Non è consentito trasmettere o pubblicare il codice sorgente UCMS in tutto o in parte. Ciò significa che puoi solo pubblicare il tuo codice che hai scritto tu stesso, ma non puoi pubblicare parti del codice UCMS come open source su github o simili.

Riceverò una fattura se acquisto?

Naturalmente, dopo aver inviato il modulo d'ordine, riceverai una conferma d'ordine / fattura pro forma (che è priva di rilevanza fiscale). La fattura finale (e fiscale rilevante) viene inviata insieme alla chiave di licenza e al codice sorgente dopo il ricevimento del pagamento.

Devo pagare l'IVA?

Se vivi in ​​uno stato membro dell'Unione Europea, devi anche pagare l'IVA applicabile al tuo paese. L'aliquota IVA dipende dallo stato membro dell'UE in cui vivi. Se vivi da qualche altra parte, non c'è l'IVA.

L'UCMS è fiscalmente deducibile?

Assicurati di chiedere al tuo commercialista! Se sei un'azienda, è molto probabile che tu possa detrarre i costi completamente o almeno parzialmente dalla tassa. Nel caso ideale, non ti costa nulla acquistare una licenza UCMS.