Kraaft- an innovativ Webkader

Kuerzfaassung


UCMS ass e Meilenstein an der Webentwicklung

Aféierung

UCMS ass en neie revolutionär PHP Framework / CMS fir d'Entwécklung vun internationaliséierter Entreprise Web Apps.

Ee vun de Schlësselkompenzen ass den awesome Templetmotor deen op der Twig Syntax baséiert. Dës Templaatmaschinn ass eng komplett nei JavaScript-ähnlech Programmiersprache.

Wéinst der Kraaft vun dëser neier Schablounent Sprooch kënnen d'Saache programméiert ginn, déi scho vläicht ganz kloer onméiglech waren.

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

Viraus vun der Zäit

Déi nei Schablounesprooch schreift vill nei Programméierungsparadimme wéi eng Ausfaartfunktioun, anonymer Funktiounen, Callbacks, dynamesche Variablen, Funk Ausdréck, Methode Ketten, Currying a Skriptabilitéit.

Dank der haarder Aarbecht vun engem brillante Programmierer ass déi nei Schablounsprache eng almächteg Programmiersprache, déi vill nei Léisungen ubitt an onméiglech Saachen ze maachen.

Dir kënnt nëmmen dëst hei hier nei Technologie benotzen, well et Joër e puer Joer ze developpéieren hätt.

Dynamesch Tags
  • {% 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.

Programméiere ouni Limiten

Dir kënnt Funktioun oder Methode direkt vun Äre Templates opruffen, egal ob statesch oder objektiv orientéiert.

An Dir kënnt och fir Är Klassenkonstanten an PHP-Konstanten direkt zougräifen.

Zougang zu enger Klass oder Funktioun
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programméiere op e méi héigen Niveau

Mat den neien Twig kënnt Dir all Funktionalitéit an JavaScript referenzéieren, egal ob et eng PHP-intern Fonktioun, eng Object Methode, eng statesch Funktioun an enger Klass oder enger Template-Funktion.

Zousätzlech kann all Funktiounsfunktionnement PHP, all Templatefunktion an all Schabloun Macro wéi an JavaScript erfëllt ginn, sou datt Dir ganz liest Korrespondenz ka benotzen.

Referenz all Funktioun
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Kette keng Funktioun
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing Completeness

Déi nei Schablounesprooch ass eng Programmiersprache mat Turing Completeness.

Dir kënnt all Kontrollstrukturen a Paradigmas benotze wéi an enger aner moderner Programmiersprache.

D'Templates an d'Ausdrock ginn zu engem abstrakte Syntaxbaum kompiléiert. De Compiler kann statesch Ausdréck erënneren a optimiséieren, sou datt zum Beispill 1 + 1 als 2 am abstrakt Syntaxbaum gespäichert ass.

Dës nei revolutionär Schablounesprooch kombinéiert de Virdeeler vun PHP, JavaScript an der Twig Syntax, an enger neier enkadiger a almächteg Programmiersprache.

Voll Skript-Kapazitéit
  • {% 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 %}

Iwwersetzungen mat Kontext

Iwwersetzbar Zeecheklaratioun kann ganz einfach definéiert ginn an automatesch als .po-Datei extrahéiert ginn.

En Iwwersetzungs Kontext, Ausdrock, Plural Formen an Iwwersetzer kommentéiert kann och benotzt ginn.

Iwwersetzer mat Links an Formatéierung kënne mat der Markdown Tag erstallt ginn, an souguer internationaliséiert PDF-Dokumente sinn méiglech.

Et war ni sou einfach fir internationaliséierter Applikatiounen ze generéieren.

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

Schabloun baséiert PDF Generator

Eis System huet en template baséiert PDF-Generator, deen et méi einfach gëtt wéi jee virdrun fir internationaliséierter Geschäftsdokumentairen ze kreéieren.

Mir hunn vill Charakteristike an dësem Generator ëmgesat, zum Beispill UTF-8 a Unicode-Support, TTF-Schriften, vill Filter an d'Benotze vun arbiträren Eenheeten wéi em, px, pt, mm, cm, an a%.

An dat ass nëmmen e klengen Deel vun den Funktiounen vum PDF Generator.

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

Méi séier wéi pure php code

Gutt Suergen gouf geholl ginn fir net onnéideg Blitz am Code ze addéieren.

Den Ufuerderunge vun der UCMS kënnen Är Ufuerderungen unhandhuelen ouni Datenbank Queries auszeféieren. Déi eenzeg Ufroën déi ausgefouert ginn musse sinn déi vun Ärer Demande.

De Templaatmaschinn kann Cache generéieren Inhalt, wat e extrem séier Veraarbechtung ass, déi nach méi séier wéi PHP Code ass.

Wann de Cache-Tag vu véiermof benotzt gëtt dann ass de UCMS souguer op engem Raspberry Pi méi schnell wéi en anere System op engem echten Webserver.

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

Einfache Verwaltung

Dir kënnt Är Geschäftslogik als Baumstruktur verwalten déi all relevant Eegeschaften, dorënner d'Zougabreeg benotze déi selwecht a wéi an engem Dateisystem funktionnéieren.

De Bamobjekt huet eng Rei nëtzlech Methoden, déi et einfach maachen Sitenavigatiounen wéi Menuen, Sidebar, Navigatiounsweeër a vill méi.

Business Logic

Wëllt Dir méi wëssen?

Oft gestallten Froen

Kann ech den UCMS gratis zoumaachen?

Dës Software entwéckelt huet vill Zäit, Suen a Erfahrung gemaach. Dës Käschte musse bedeckt ginn. Aus deem Grond sinn eng Lizenz fir de UCMS ze benotzen.

Wäert d'UCMS jeemools Open Source?

Nodeems d'Entstäerkungskäschten amortiséiert goufen, kënne mir den Quellcode publizéieren an et gratis a net kommerzielle Benotzung fir Privatpersounen (awer net fir Firmen) maachen. Dir sollt net erwaarden datt et an der Noperschaft passéiert, an éischter 2021 oder spéider.

Wat fir eng Bezuelmethod kann ech benotzen?

Dir kënnt iwwer Banktransfer oder PayPal bezuelen. D'Kreditkäschten erlaaben och via PayPal, all déi grouss Kreditkaarten vum Visa, Mastercard, American Express an Discover ginn akzeptéiert.

Wéini kritt de Lizenzschloss?

Dir kritt de Lizenzschlüssel an de Quellcode, sobald d'Bezuelung op eise Bankkonto credited ass. Wann Dir mat PayPal bezuelen, schécken mir de Lizenzschlëssel an de Quellcode mat enger Verzögerung vun 3-5 Deeg nodeems de Empfang vun der Bezuelung fir eis ze schützen.

Wat sinn d'Lizenzbedingungen?

Mir erlaben Lizenzhalter eng net exklusiv, net iwwersiwerbar, net verzeiissend, ëmmerhalteg Lizenz fir dës Software fir eng Internet Domäne ze benotzen. Dës Software Lizenz kann net op Drëtttransfèren übertransportéiert sinn oder erëm z'erhalen.

Kann ech e perséinleche Liwwerung / Support kréien?

Rufft eis a loosst eis et schwätzen. Mir bidden och vill zousätzlech Servicer, wéi: Berodung, Ënnerstëtzung oder Schafung vun engem Skelett vun Ärer Demande, wann Dir eis fir dat bezuelt. Allerdéngs wëlle mir keng Projete kontrolléieren oder pflegen, an Dir braucht Äre eegene Feeler fir Äert digitale Geschäft fir laangfristeg ze laafen.

Kann ech mäin Projet op Github publizéieren?

Et ass net erlaabt d'UCMS-Quellcode ganz oder deelweis ze verëffentlechen oder ze publizéieren. Dëst bedeit datt Dir nëmmen Äre eegene Code publizéiert deen Dir selwer geschriwwen huet, awer Dir kënnt iergendeng Deeler vum UCMS-Code als Open Source op Github oder ähnlech publizéieren.

Kuckt ech eng Rechnung, wann ech kafen?

Natierlech kënnt Dir d'Bestellung vun engem Bestellformulär kréien fir eng Bestellung bestätegen / pro forma Rechnungen (wat ouni Steierfräiheet ass). D'Finale (a Steierreform bedeit) Rechnung gëtt mat Ärem Lizenzschlëssel an dem Quellcode nom Empfang vun der Bezuelung geschéckt.

Muss ech eng TVA bezuelen?

Wann Dir an engem Memberstaat vun der Europäescher Unioun wunnt, musst Dir och d'MwSt an Ärem Land bezuelen. D'MwSt ass vun der EU Memberstaat wou Dir wunnt. Wann Dir soss iergendwou wunnt, gëtt et keng TVA.

Sinn den UCMS kascht Steierzuel erhebbar?

Sech sécher Äre Betrag ze stellen! Wann Dir eng Firma sidd, sinn d'Chancen ganz gutt, datt Dir d'Käschten ganz oder zumindest deelweis vun der Steier abegraff. Am Idealfall ass et Iech net ëmmer sou kascht fir en UCMS Lizenz ze kafen.