Kragtige en innoverende webraamwerk

Kort opsomming


UCMS is 'n mylpaal in webontwikkeling

inleiding

UCMS is 'n nuwe revolusionêre PHP-raamwerk / CMS vir die ontwikkeling van internasionaal ondernemingswebprogramme.

Een van die belangrikste kenmerke is die wonderlike sjabloon-enjin wat gebaseer is op die Twig-sintaksis. Hierdie sjabloon enjin is 'n heeltemal nuwe JavaScript-programmeertaal.

As gevolg van die krag van hierdie nuwe sjabloon taal, kan dinge geprogrammeer word wat voorheen heeltemal onmoontlik lyk.

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

Wees voor die tyd

Die nuwe sjabloon taal sluit baie nuwe programmeringsparadigmas soos 'n vreemde funksie koppelvlak, anonieme funksies, terugroepe, dinamiese tags, funksie uitdrukkings, metode ketting, currying en scriptability.

Danksy die harde werk van 'n briljante programmeerder, is die nuwe sjabloontaal 'n almagtige programmeringstaal wat baie nuwe oplossings bied en onmoontlike dinge moontlik maak.

Jy kan net hierdie nuwe tegnologie hier kry, want dit sal jare neem om iets soortgelyks te ontwikkel.

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

Programmering sonder limiete

U kan enige funksie of metode direk vanaf u templates noem, ongeag of dit staties of objekgeoriënteerd is.

En jy kan selfs direk toegang tot jou klaskonstantes en PHP-konstantes kry.

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

Programmering op 'n hoër vlak

Met die nuwe Twig kan u enige funksie soos in JavaScript noem, ongeag of dit 'n PHP-interne funksie, 'n objek metode, 'n statiese funksie in 'n klas of 'n sjabloon funksie is.

Daarbenewens kan enige PHP interne funksie, enige sjabloon funksie en enige sjabloon makro geketting word soos in JavaScript, sodat jy baie leesbare kode kan skryf wat maklik verstaanbaar is.

Verwys enige funksie
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Ketting enige funksie
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing volledigheid

Die nuwe sjabloon taal is 'n programmeertaal met Turing volledigheid.

U kan alle beheerstrukture en paradigmas gebruik soos in enige ander moderne programmeringstaal.

Die templates en uitdrukkings word saamgestel in 'n abstrakte syntaxboom. Die samesteller kan statiese uitdrukkings opspoor en optimaliseer sodat byvoorbeeld 1 + 1 as 2 in die abstrakte sintaksboom gestoor word.

Hierdie nuwe revolutionaire sjabloon taal kombineer die voordele van PHP, JavaScript en die Twig-syntaxis, in 'n nuwe ongelooflike en almagtige programmeertaal.

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

Vertalings met konteks

Vertaalbare snare kan baie maklik gedefinieer word en outomaties onttrek word as .po-lêer.

'N Vertaal konteks, uitdrukkings, meervoudsvorme en vertaler kommentaar kan ook gebruik word.

Vertalings met skakels en formatering kan geskep word in kombinasie met die merkteken, en selfs geïnternasionaliseerde PDF-dokumente is moontlik.

Dit is nog nooit so maklik om geïnternasionaliseerde programme te skep nie.

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

Sjabloongebaseerde PDF-generator

Ons stelsel het 'n templaat gebaseerde PDF-generator wat dit makliker maak as ooit tevore om internasionaal besigheidsdokumente te skep.

Ons het baie funksies in hierdie kragopwekker geïmplementeer, byvoorbeeld UTF-8 en Unicode-ondersteuning, TTF-lettertipes, baie filters en die gebruik van arbitrêre eenhede soos em, px, pt, mm, cm, in en%.

En dit is net 'n klein deel van die funksies van die PDF Generator.

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

Vinniger as suiwer PHP-kode

Daar is groot sorg geneem om nie onnodige ballas by die kode te voeg nie.

Die UCMS-kern kan versoeke hanteer sonder om databasisnavrae uit te voer. Die enigste navrae wat uitgevoer moet word, is dié van u aansoek.

Die sjabloon enjin kan gegenereerde inhoud cache, wat tot vinnige verwerking lei wat selfs vinniger as PHP-kode is.

As die kas-kode gebruik is, is die UCMS selfs op 'n Raspberry Pi vinniger as enige ander stelsel op 'n regte webbediener.

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

Eenvoudige bestuur

U kan u besigheids logika bestuur as 'n boomstruktuur wat alle relevante eiendomme bevat, insluitend die toegangsregte wat op dieselfde manier werk as in 'n lêerstelsel.

Die boomvoorwerp het 'n aantal nuttige metodes wat dit maklik maak om werfnavigasies te genereer, soos spyskaarte, sidebars, navigasiepaaie en nog vele meer.

Besigheids Logika

Wil jy meer weet?

Algemene vrae

Kan ek gratis die UCMS aflaai?

Die ontwikkeling van hierdie sagteware het baie tyd, geld en ervaring opgelewer. Hierdie koste moet gedek word. Om hierdie rede is 'n lisensie om die UCMS te gebruik, vereis.

Sal die UCMS ooit oopbron wees?

Nadat die ontwikkelingskoste geamortiseer is, kan ons die bronkode publiseer en gratis, nie-kommersiële gebruik vir individue (maar nie maatskappye) toelaat nie. Jy moet nie verwag dat dit in die nabye toekoms gebeur nie, eerder in 2021 of later.

Watter betaalmetodes kan ek gebruik?

U kan betaal per overschrijving of via PayPal. Kredietkaartbetalings is ook moontlik via PayPal. Alle groot kredietkaarte van Visa, Mastercard, American Express en Discover word aanvaar.

Wanneer kry ek die lisensie sleutel?

U sal die lisensie sleutel en bronkode ontvang sodra die betaling aan ons bankrekening gekrediteer is. As u met PayPal betaal, stuur ons die lisensie sleutel en die bronkode met 'n vertraging van 3-5 dae na ontvangs van die betaling om ons te beskerm teen betaling bedrog.

Wat is die lisensie terme?

Ons gee lisensiehouers 'n nie-eksklusiewe, nie-oordraagbare, nie-resellable, permanente lisensie om hierdie sagteware vir een internet domein te gebruik. Hierdie sagteware lisensie kan nie oorgedra word aan derde partye of herverkoop word nie.

Kan ek 'n persoonlike lisensie / ondersteuning kry?

Bel ons en laat ons daaroor praat. Ons bied baie addisionele dienste aan, soos: Advies, ondersteuning of skepping van 'n skema van u aansoek indien u ons hiervoor betaal. Ons bestuur egter nie of onderhou enige projekte nie, en u sal u eie ontwikkelaar nodig hê om u digitale besigheid vir die lang termyn te bedryf.

Kan ek my projek op Github publiseer?

Dit mag nie geheel of gedeeltelik deur die UCMS-bronkode oorgedra of gepubliseer word nie. Dit beteken dat u slegs u eie kode kan publiseer wat u self geskryf het, maar u kan nie enige gedeeltes van die UCMS-kode publiseer as open source op github of soortgelyke nie.

Sal ek 'n faktuur kry as ek koop?

Natuurlik, na die stuur van die bestelformulier ontvang u 'n orderbevestiging / pro forma faktuur (wat sonder belasting relevansie is). Die finale faktuur (en belastingwet) word saam met u lisensie sleutel en die bronkode gestuur na ontvangs van betaling.

Moet ek BTW betaal?

As jy in 'n lid-staat van die Europese Unie woon, moet jy ook die BTW wat van toepassing is op jou land betaal. Die BTW-tarief hang af van die EU-lidstaat waarin u woon. As jy êrens anders woon, is daar geen BTW nie.

Is die UBS koste aftrekbaar?

Maak seker dat jy jou rekenmeester vra! As jy 'n maatskappy is, is die kanse baie goed dat jy die koste heeltemal of ten minste gedeeltelik van die belasting kan aftrek. In die ideale geval kos dit jou niks om 'n UCMS-lisensie te koop nie.