Kraftfullt och innovativt webbramverk

Kort sammanfattning


UCMS är en milstolpe i webbutveckling

Introduktion

UCMS är ett nytt revolutionerande PHP-ramverk / CMS för utveckling av internationaliserade företags webbapplikationer.

En av de viktigaste funktionerna är den fantastiska mallmotorn som bygger på Twig-syntaxen. Denna mallmotor är ett helt nytt JavaScript-liknande programmeringsspråk.

På grund av kraften i detta nya malspråk kan saker programmeras som tidigare verkade helt omöjliga.

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

Var före tiderna

Det nya templatssproget innehåller många nya programmeringsparadigmer som ett främmande funktionsgränssnitt, anonyma funktioner, återuppringningar, dynamiska taggar, funktionsuttryck, metodkedja, currying och scriptability.

Tack vare det briljanta programmets hårda arbete är det nya mallspråket ett allsmäktigt programmeringsspråk som erbjuder många nya lösningar och gör omöjliga saker möjliga.

Du kan bara få den här nya tekniken här, eftersom det skulle ta år att utveckla något liknande.

Dynamiska Taggar
  • {% 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.

Programmering utan gränser

Du kan ringa någon funktion eller metod direkt från dina mallar, oavsett om det är statiskt eller objektorienterat.

Och du kan även komma åt dina klasskonstanter och PHP-konstanter direkt.

Gå till någon klass eller funktion
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programmering på högre nivå

Med den nya Twig kan du referera till vilken funktion som helst i JavaScript, oavsett om det är en PHP-intern funktion, en Objektmetod, en statisk funktion i en klass eller en mallfunktion.

Dessutom kan alla PHP-interna funktioner, alla mallfunktioner och alla mallmakroer vara kedjiga som i JavaScript, så att du kan skriva mycket läsbar kod som är lätt att förstå.

Referens någon funktion
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Kedja någon funktion
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing fullständighet

Det nya mallspråket är ett programmeringsspråk med fullständig Turing.

Du kan använda alla kontrollstrukturer och paradigmer som i något annat modernt programmeringsspråk.

Mallarna och uttrycken sammanställs i ett abstrakt syntaktträd. Kompilatorn kan detektera och optimera statiska uttryck så att exempelvis 1 + 1 lagras som 2 i abstrakt syntaxtree.

Det nya revolutionära mallspoken kombinerar fördelarna med PHP, JavaScript och Twig-syntaxen, i ett nytt otroligt och allmänt programmerat språk.

Full script-förmåga
  • {% 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 %}

Översättningar med sammanhang

Översättbara strängar kan definieras mycket enkelt och extraheras automatiskt som .po-fil.

En översättningskontext, uttryck, flertalsformer och översättarens kommentarer kan också användas.

Översättningar med länkar och formatering kan skapas i kombination med markdown-taggen, och även internationaliserade PDF-dokument är möjliga.

Det har aldrig varit så lätt att skapa internationaliserade applikationer.

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

Mallbaserad PDF-generator

Vårt system har en mallbaserad PDF-generator som gör det enklare än någonsin att skapa internationaliserade affärsdokument.

Vi har implementerat många funktioner i den här generatorn, till exempel UTF-8 och Unicode-stöd, TTF-teckensnitt, många filter och användningen av godtyckliga enheter som em, px, pt, mm, cm, in och%.

Och det är bara en liten del av PDF Generatorens funktioner.

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>

Snabbare än ren PHP-kod

Stor omsorg har gjorts för att inte lägga onödig ballast till koden.

UCMS-kärnan kan hantera förfrågningar utan att exekvera databasfrågor. De enda frågorna som måste utföras är de som gäller för din ansökan.

Mallmotorn kan cache genererat innehåll, vilket resulterar i extremt snabb bearbetning som är ännu snabbare än PHP-kod.

Om cachemärken användes klokt så är UCMS även på en Raspberry Pi snabbare än något annat system på en riktig webbserver.

Cachemärke
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Cachad innehåll
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Enkel hantering

Du kan hantera din affärslogik som en trädstruktur som innehåller alla relevanta egenskaper, inklusive åtkomsträttigheter som fungerar på samma sätt som i ett filsystem.

Träobjektet har ett antal användbara metoder som gör det enkelt att generera sidnavigeringar som menyer, sidofält, navigationsvägar och många fler.

Företagslogik

Vill du veta mer?

Vanliga frågor

Kan jag ladda ner UCMS gratis?

Att utveckla denna programvara har tagit mycket tid, pengar och erfarenhet. Dessa kostnader måste täckas. Av denna anledning krävs en licens för att använda UCMS.

Kommer UCMS någonsin att vara öppen källkod?

Efter att utvecklingskostnaderna har skrivits av kan vi publicera källkoden och tillåta gratis icke-kommersiell användning för privatpersoner (men inte företag). Du bör inte förvänta dig att det händer inom en snar framtid, snarare 2021 eller senare.

Vilka betalningsmetoder kan jag använda?

Du kan betala via banköverföring eller PayPal. Kreditkortbetalningar är också möjliga via PayPal, alla större kreditkort från Visa, Mastercard, American Express och Discover är accepterade.

När får jag licensnyckeln?

Du kommer att få licensnyckeln och källkoden så snart betalningen har krediterats till vårt bankkonto. Om du betalar med PayPal skickar vi licensnyckeln och källkoden med en fördröjning om 3-5 dagar efter mottagandet av betalningen för att skydda oss från betalningsbedrägerier.

Vilka är licensvillkoren?

Vi beviljar licensinnehavare en icke-exklusiv, icke-överlåtbar, ej återförsäljbar, evig licens för att använda denna programvara för en internetdomän. Denna programvarulicens kan inte överföras till tredje part eller vidareförsälja.

Kan jag få en anpassad licens / support?

Ring oss och låt oss prata om det. Vi erbjuder många ytterligare tjänster, till exempel: Rådgivning, support eller skapande av ett skelett av din ansökan om du betalar oss för detta. Vi klarar dock inte eller behåller några projekt, och du behöver din egen utvecklare för att driva din digitala verksamhet på lång sikt.

Kan jag publicera mitt projekt på Github?

Det är inte tillåtet att vidarebefordra eller publicera UCMS källkod helt eller delvis. Det innebär att du bara kan publicera din egen kod som du skrev själv, men du kan inte publicera några delar av UCMS-koden som öppen källkod på github eller liknande.

Ska jag få en faktura om jag köper?

Naturligtvis, efter att du skickat beställningsformuläret får du en orderbekräftelse / pro forma faktura (som är utan skattesats). Den slutliga fakturaen (och skattelagens betydelse) skickas tillsammans med din licensnyckel och källkoden efter mottagandet av betalningen.

Måste jag betala moms?

Om du bor i ett medlemsland i Europeiska unionen måste du också betala mervärdesskatt som gäller för ditt land. Momsavgiften beror på den EU-medlemsstat där du bor. Om du bor någon annanstans finns det ingen moms.

Är UCMS kostnadsavdragsberättigade?

Var noga med att fråga din revisor! Om du är ett företag är chansen mycket bra att du kan dra av kostnaderna helt eller åtminstone delvis från skatten. I det ideala fallet kostar det inte något för dig att köpa en UCMS-licens.