Güclüyenilikçi veb çərçivəsi

Qısa xülasə


UCMS a mərhələ ilə web inkişaf

Giriş

UCMS beynəlxalq müəssisə veb proqramlarının inkişafı üçün yeni bir inqilabi PHP çərçivəsidir / CMS.

Bir əsas xüsusiyyətləri Twig sintaksis əsaslanır zəhmli şablon motorudur. Bu şablon mühərriki tamamilə yeni bir JavaScript kimi proqramlaşdırma dili.

Bu yeni şablon dilinin gücünə görə əvvəllər tamamilə qeyri-mümkün göründüyü şeylər proqramlaşdırıla bilər.

JavaScript kimi proqramlaşdırma
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

Qabaqda olun dəfə

Yeni şablon dilində xarici funksiya interfeysi, anonim funksiyalar, geri çağırışlar, dinamik etiketlər, funksiya ifadələri, üsul zəncirləmə, kölgələşmə və scriptability kimi bir çox yeni proqramlaşdırma paradiqmaları daxildir.

Parlaq bir proqramçıın çətin işi sayəsində, yeni şablon dili çoxsaylı yeni həllər təklif edən və imkansız imkanlar yaradan güclü proqramlaşdırma dilidir.

Yalnız bu yeni texnologiyanı burada əldə edə bilərsiniz, çünki bu, illərlə bənzər bir şey inkişaf etdirəcəkdir.

Dinamik Etiketler
  • {% 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.

Məhdudiyyətsiz proqramlaşdırma

Statik və ya obyekt yönümlü olursa olsun, şablonlarınızdan birbaşa funksiya və ya metodu zəng edə bilərsiniz.

Hətta sinif sabitləri və PHP sabitlərinə birbaşa daxil ola bilərsiniz.

Hər hansı bir sinifə və ya funksiyaya giriş
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Daha yüksək səviyyədə proqramlaşdırma

Yeni Twig ilə bir PHP daxili funksiyası, bir obyekt metodu, bir sinifdə statik funksiya və ya şablon funksiyası olmasa da, JavaScript kimi hər hansı funksiyanı istinad edə bilərsiniz.

Bundan əlavə, hər hansı bir PHP daxili funksiyası, şablon funksiyası və hər hansı bir şablon makrosu JavaScript kimi zəncirlənə bilər, belə ki anlamaq üçün asan oxunan kodu yaza bilərsiniz.

Hər hansı funksiyanı istinad et
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Zəncirləmə funksiyası
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Təminatı tam

Yeni şablon dili Turing tamlığı ilə proqramlaşdırma dilidir.

Bütün digər idarəetmə strukturlarını və paradiqmalarını hər hansı digər müasir proqramlaşdırma dilində olduğu kimi istifadə edə bilərsiniz.

Şablon və ifadələr abstrakt sözdizimi ağacına tərtib edilir. Derleyici statik ifadələri algılayıp optimize edə bilər, məsələn, 1 + 1 soyut sözdizimi ağacında 2 olaraq saxlanılır.

Bu yeni inqilabi şablon dil PHP, JavaScript və Twig sintaksisinin üstünlüklərini yeni inanılmaz və güclü proqramlaşdırma dilində birləşdirir.

Tam skript bacarığı
  • {% 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 %}

Kontekst ilə tərcümə

Translatable strings çox asanlıqla müəyyən edilə bilər və avtomatik olaraq .po faylından çıxarılır.

Tərcümə konteksti, ifadələr, plural formalar və tərcüməçi şərhləri də istifadə edilə bilər.

Bağlantılar və formatlaşdırma ilə tərcümələr markdown tag ilə birlikdə yaradıla bilər və hətta beynəlxalq PDF sənədləri mümkündür.

İnternational tətbiqləri yaratmaq asan olmayıb.

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

Şablon bazlı PDF generator

Bizim sistemimiz, beynəlxalq biznes sənədlərini yaratmaq üçün daha da asanlaşdıran bir şablon bazlı PDF generatora malikdir.

Bu generatorda UTF-8 və Unicode dəstəyi, TTF-Fonts, bir çox filtrlər və em, px, pt, mm, sm, in və% kimi özbaşına birləşmələrin istifadəsi kimi bir çox xüsusiyyətləri həyata keçirmişik.

Və bu, PDF Generator funksiyasının yalnız kiçik bir hissəsidir.

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

Saf php kodundan daha sürətli

Koda lazımsız balast əlavə etməmək üçün böyük diqqət alınmışdır.

UCMS çekirdekleri, verilənlər bazası sorgulamalarını yürütmeden istekleri işleyebilir. İcra edilməli olan yeganə sorgular sizin tətbiqinizdir.

Şablon mühərriki, yaradılmış məzmunu önbelleğe ala bilər və PHP kodundan daha sürətli olan çox sürətli işləmələrə səbəb olur.

Önbellek etiketi ağıllıca istifadə edildikdən sonra, UCMS bir Raspberry Pi-də həqiqi web serverdə hər hansı digər sistemdən daha sürətlidır.

Cache etiketi
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Önbelleğe alınmış məzmun
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Sadə idarəetmə

Biznes mantığınızı bir fayl sistemi ilə eyni şəkildə işləyən giriş hüququ daxil olmaqla bütün müvafiq xüsusiyyətləri olan ağac quruluşu kimi idarə edə bilərsiniz.

Ağacın obyekti menyular, yanbaşlar, naviqasiya yolları və daha çox sayta naviqasiya yaratmaq üçün asan bir sıra faydalı metodlara malikdir.

Biznes məntiq

Daha çox bilmək istəyirsinizmi?

Tez-tez soruşulan suallar

UCMS-ni pulsuz yükləyə bilərsinizmi?

Bu proqramın inkişaf etdirilməsi çox vaxt, pul və təcrübə qazandı. Bu xərclər əhatə olunmalıdır. Bu səbəbdən UCMS istifadə etmək üçün lisenziya tələb olunur.

UCMS həmişə açıq mənbə olacaqmı?

İnkişaf xərcləri amortizasiya olunduqdan sonra, mənbə kodunu dərc edə və fiziki şəxslər üçün qeyri-kommersiya məqsədilə istifadəyə icazə verə bilərik (lakin şirkətlər deyil). Yaxın gələcəkdə deyil, 2021 və ya daha sonra baş verməyinizi gözləmək olmaz.

Nə ödəniş üsullarını istifadə edə bilərəm?

Siz bank havalesi və ya PayPal ilə ödəyə bilərsiniz. Kredit kartı ödənişləri PayPal vasitəsilə də mümkündür, Visa, Mastercard, American Express və Discover bütün əsas kredit kartları qəbul edilir.

Lisenziya açarı nə vaxt alır?

Ödəmə bank hesabımıza daxil edildikdən sonra lisenziya və mənbə kodunu alacaqsınız. PayPal ilə ödəyirsinizsə, ödəniş aldıqdan sonra bizə ödəniş fırıldaqçılığından qorunmaq üçün lisenziyalı əsas və mənbə kodunu 3-5 gün gecikdirəcəkdir.

Lisenziya şərtləri hansılardır?

Lisenziyanı sahiblərinə qeyri-eksklüziv, ötürülə bilməyəcək, təkrar satılmayan, davamlı lisenziya verə bilərik. Bu proqram lisenziyası üçüncü şəxslərə ötürülə bilməz və ya satıla bilməz.

Xüsusi lisenziya / dəstək ala bilərəmmi?

Bizə zəng edin və bu barədə danışaq. Aşağıdakı kimi bir çox əlavə xidmət təklif edirik: Məsləhət, dəstək və ya bunun üçün bizə ödəniş etsəniz, tətbiqin skeletinin yaradılması. Bununla belə, biz heç bir layihəni idarə etmirik və ya saxlayırıq və uzun müddətli rəqəmsal biznesinizi idarə etmək üçün öz geliştiricinizə ehtiyac duyacaqsınız.

Github'daki projemi yayınlayabilir edə bilərəmmi?

UCMS kodunun tamamilə və ya qismən ötürülməsinə və ya dərc edilməsinə icazə verilmir. Bu, özünüz yazdığınız öz kodunuzu yalnız dərc edə bilərsiniz, ancaq UCMS kodunun heç bir hissəsini github və ya oxşar açıq mənbə kimi dərc edə bilməzsiniz.

Satın alsam bir faktura alacaqmı?

Əlbəttə ki, sifariş formasını göndərdikdən sonra sifariş təsdiqini / pro forma fakturasını (vergi aidiyyəti olmadıqda) alacaqsınız. Sonuncu (və vergi qanunu əhəmiyyətli) faktura ödəniş aldıktan sonra lisenziya açarı və mənbə kodu ilə birlikdə göndərilir.

ƏDV ödəməliyəmmi?

Avropa İttifaqının üzvü olan bir ölkədə yaşayırsınızsa, ölkəniz üçün tətbiq edilən ƏDV-i də ödəməlisiniz. ƏDV dərəcəsi yaşadığınız Aİ üzv dövlətinə bağlıdır. Başqa bir yerdə yaşasanız, heç bir ƏDV yoxdur.

UCMS xərcləri vergiyə cəlb edilirmi?

Mühasibinizə xahiş etdiyinizə əmin olun! Bir şirkət varsa, şansları çox yaxşıdır ki, xərcləri tamamilə və ya ən azı qismən vergidən çıxara bilərsiniz. Ideal halda, bir UCMS lisenziyası almaq üçün sizə heç bir şey xeyir vermir.