Krachtig en innovatief webraamwerk

Korte samenvatting


UCMS is een mijlpaal in webontwikkeling

Invoering

UCMS is een nieuw revolutionair PHP-framework / CMS voor de ontwikkeling van geïnternationaliseerde webapplicaties voor ondernemingen.

Een van de belangrijkste functies is de geweldige template-engine die is gebaseerd op de syntaxis van Twig. Deze sjabloonengine is een geheel nieuwe JavaScript-achtige programmeertaal.

Vanwege de kracht van deze nieuwe sjabloontaal kunnen dingen worden geprogrammeerd die voorheen volkomen onmogelijk leken.

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

Wees de tijd vooruit

De nieuwe sjabloontaal bevat veel nieuwe programmeerparadigma's zoals een interface met een vreemde functie, anonieme functies, callbacks, dynamische tags, functie-uitdrukkingen, methodeketting, currying en scriptability.

Dankzij het harde werk van een briljante programmeur is de nieuwe sjabloontaal een almachtige programmeertaal die veel nieuwe oplossingen biedt en onmogelijke dingen mogelijk maakt.

Je kunt deze nieuwe technologie alleen hier krijgen, omdat het jaren zou kosten om iets soortgelijks te ontwikkelen.

Dynamische 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.

Programmeren zonder limieten

U kunt elke functie of methode rechtstreeks vanuit uw sjablonen aanroepen, ongeacht of deze statisch of objectgeoriënteerd is.

En je kunt zelfs rechtstreeks toegang krijgen tot je klasse constanten en PHP-constanten.

Toegang tot elke klas of functie
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programmeren op een hoger niveau

Met de nieuwe Twig kunt u verwijzen naar elke functie zoals in JavaScript, ongeacht of het om een ​​PHP-interne functie, een objectmethode, een statische functie in een klasse of een sjabloonfunctie gaat.

Bovendien kunnen elke interne PHP-functie, elke sjabloonfunctie en elke sjabloonmacro worden geketend zoals in JavaScript, zodat u zeer leesbare, gemakkelijk te begrijpen code kunt schrijven.

Raadpleeg een functie
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Keten elke functie
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing compleetheid

De nieuwe sjabloontaal is een programmeertaal met Turing-volledigheid.

U kunt alle besturingsstructuren en paradigma's gebruiken zoals in elke andere moderne programmeertaal.

De sjablonen en expressies zijn gecompileerd tot een abstracte syntaxisboom. De compiler kan statische uitdrukkingen detecteren en optimaliseren, zodat bijvoorbeeld 1 + 1 als 2 wordt opgeslagen in de abstracte syntaxboom.

Deze nieuwe revolutionaire sjabloontaal combineert de voordelen van PHP, JavaScript en de Twig-syntaxis in een nieuwe ongelooflijke en almachtige programmeertaal.

Volledige scriptvaardigheid
  • {% 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 %}

Vertalingen met context

Vertaalbare strings kunnen heel eenvoudig worden gedefinieerd en automatisch worden geëxtraheerd als .po-bestand.

Een vertaling context, uitdrukkingen, meervoudsvormen en opmerkingen van vertalers kunnen ook worden gebruikt.

Vertalingen met links en opmaak kunnen worden gemaakt in combinatie met de markdown-tag en zelfs geïnternationaliseerde PDF-documenten zijn mogelijk.

Het was nog nooit zo eenvoudig om geïnternationaliseerde applicaties te maken.

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

Op een sjabloon gebaseerde PDF-generator

Ons systeem heeft een op sjablonen gebaseerde PDF-generator die het gemakkelijker dan ooit maakt om geïnternationaliseerde zakelijke documenten te maken.

We hebben veel functies in deze generator geïmplementeerd, bijvoorbeeld UTF-8 en Unicode-ondersteuning, TTF-lettertypen, veel filters en het gebruik van willekeurige eenheden zoals em, px, pt, mm, cm, in en%.

En dat is slechts een klein deel van de functies van de PDF-generator.

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

Sneller dan pure php-code

Er is veel zorg aan besteed om geen onnodige ballast aan de code toe te voegen.

De UCMS-kernel kan verzoeken afhandelen zonder databasequery's uit te voeren. De enige query's die moeten worden uitgevoerd, zijn die van uw toepassing.

De sjabloonengine kan gegenereerde inhoud cachen, wat resulteert in een extreem snelle verwerking die zelfs sneller is dan PHP-code.

Als de cache-tag verstandig werd gebruikt, bevindt de UCMS zich zelfs sneller op een Raspberry Pi dan welk ander systeem op een echte webserver.

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

Eenvoudig beheer

U kunt uw bedrijfslogica beheren als een boomstructuur die alle relevante eigenschappen bevat, inclusief de toegangsrechten die op dezelfde manier werken als in een bestandssysteem.

Het tree-object heeft een aantal handige methoden die het gemakkelijk maken om sitenavigaties te genereren, zoals menu's, zijbalken, navigatiepaden en nog veel meer.

Business Logic

Wil je meer weten?

Veel Gestelde Vragen

Kan ik het UCMS gratis downloaden?

Het ontwikkelen van deze software heeft veel tijd, geld en ervaring gekost. Deze kosten moeten worden gedekt. Om deze reden is een licentie voor het gebruik van UCMS vereist.

Zal het UCMS ooit open source zijn?

Nadat de ontwikkelingskosten zijn afgeschreven, kunnen we de broncode publiceren en gratis niet-commercieel gebruik toestaan ​​voor individuen (maar niet voor bedrijven). Je moet niet verwachten dat dit in de nabije toekomst gebeurt, eerder in 2021 of later.

Welke betaalmethoden kan ik gebruiken?

U kunt betalen via overschrijving of PayPal. Creditcardbetalingen zijn ook mogelijk via PayPal, alle gangbare creditcards van Visa, Mastercard, American Express en Discover worden geaccepteerd.

Wanneer krijg ik de licentiesleutel?

U ontvangt de licentiesleutel en broncode zodra de betaling op onze bankrekening is bijgeschreven. Als u met PayPal betaalt, sturen we de licentiecode en de broncode met een vertraging van 3-5 dagen na ontvangst van de betaling om ons te beschermen tegen betalingsfraude.

Wat zijn de licentievoorwaarden?

We verlenen licentiehouders een niet-exclusieve, niet-overdraagbare, niet-opnieuw-overdraagbare, eeuwigdurende licentie om deze software te gebruiken voor één internetdomein. Deze softwarelicentie kan niet worden overgedragen aan derden of doorverkocht.

Kan ik een aangepaste licentie / ondersteuning krijgen?

Bel ons en laat ons erover praten. We bieden veel aanvullende diensten, zoals: advies, ondersteuning of het maken van een skelet van uw aanvraag als u ons hiervoor betaalt. We beheren of onderhouden echter geen projecten en u heeft uw eigen ontwikkelaar nodig om uw digitale bedrijf voor de lange termijn te runnen.

Kan ik mijn project op Github publiceren?

Het is niet toegestaan ​​om de UCMS-broncode geheel of gedeeltelijk door te geven of te publiceren. Dit betekent dat u alleen uw eigen code kunt publiceren die u zelf hebt geschreven, maar u kunt geen delen van de UCMS-code publiceren als open source op github of iets dergelijks.

Krijg ik een factuur als ik deze koop?

Uiteraard ontvangt u na het verzenden van het bestelformulier een orderbevestiging / pro forma factuur (die geen belastingrelevantie heeft). De definitieve factuur (en belastingwetgeving) wordt samen met uw licentiecode en de broncode na ontvangst van de betaling verzonden.

Moet ik btw betalen?

Als u in een lidstaat van de Europese Unie woont, moet u ook de btw betalen die van toepassing is op uw land. Het BTW-tarief is afhankelijk van de EU-lidstaat waarin u woont. Als u ergens anders woont, is er geen btw.

Zijn de kosten van de UCMS fiscaal aftrekbaar?

Vraag het aan uw accountant! Als u een bedrijf bent, is de kans heel groot dat u de kosten volledig of ten minste gedeeltelijk kunt aftrekken van de belasting. In het ideale geval kost het u niets om een ​​UCMS-licentie te kopen.