Napakahusay at makabagong balangkas ng web

Maikling buod


Ang UCMS ay isang milyahe sa web development

Panimula

Ang UCMS ay isang bagong rebolusyonaryong balangkas ng PHP / CMS para sa pagpapaunlad ng mga internasyonal na web application ng enterprise.

Ang isa sa mga pangunahing tampok ay ang kahanga-hangang template engine na batay sa Twig syntax. Ang template engine na ito ay isang ganap na bagong JavaScript-like programming language.

Dahil sa kapangyarihan ng bagong wika ng template na ito, maaaring ma-program ang mga bagay na dati nang tila ganap na imposible.

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

Maging una sa mga oras

Kasama sa bagong template ng wika ang maraming mga bagong paradigm ng programming tulad ng isang banyagang interface function, hindi kilalang function, callbacks, dynamic na mga tag, mga expression sa pag-andar, pamamaraan chaining, currying at scriptability.

Salamat sa hirap ng isang makikinang na programmer, ang bagong wika ng template ay isang makapangyarihang programming language na nag-aalok ng maraming mga bagong solusyon at ginagawang imposible ang mga bagay na posible.

Maaari mo lamang makuha ang bagong teknolohiyang ito dito dahil kakailanganin ang mga taon upang magkaroon ng katulad na bagay.

Dynamic na Mga Tag
  • {% 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.

Programming nang walang limitasyon

Maaari kang tumawag sa anumang function o paraan nang direkta mula sa iyong mga template, hindi mahalaga kung static o object-oriented.

At maaari mo ring i-access ang iyong mga constants at constants ng direkta sa klase.

I-access ang anumang klase o pag-andar
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programming sa isang mas mataas na antas

Gamit ang bagong Twig maaari mong i-reference ang anumang pag-andar tulad ng sa JavaScript, hindi mahalaga kung ito ay isang function ng PHP-panloob, isang paraan ng Object, isang static function sa isang klase o isang template function.

Bukod pa rito, ang anumang panloob na function ng PHP, ang anumang function ng template at anumang macro ng template ay maaaring chained tulad ng sa JavaScript, upang maaari mong isulat ang napaka nababasa code na madaling maunawaan.

Reference anumang function
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Chain ang anumang function
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing kumpleto

Ang bagong wika ng template ay isang programming language na may Turing completeness.

Maaari mong gamitin ang lahat ng control structures at paradigms tulad ng sa anumang iba pang mga modernong programming language.

Ang mga template at mga expression ay pinagsama-sama sa isang abstract syntax tree. Ang tagatala ay maaaring makakita at ma-optimize ang mga static na expression upang, halimbawa, 1 + 1 ay naka-imbak bilang 2 sa abstract syntax tree.

Pinagsasama ng bagong rebolusyonaryong wika ng template ang mga pakinabang ng PHP, JavaScript at ang Twig syntax, sa isang bagong hindi kapani-paniwala at makapangyarihang programming language.

Buong kakayahan ng script
  • {% 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 %}

Pagsasalin sa konteksto

Ang maaaring maisasalin na mga string ay maaaring tinukoy na napakadaling at kinuha awtomatikong bilang .po file.

Ang konteksto ng pagsasalin, mga expression, mga pangmaramihang anyo at mga komento sa tagasalin ay maaari ding gamitin.

Maaaring malikha ang mga pagsasalin sa mga link at pag-format sa pamamagitan ng markdown tag, at kahit internationalized PDF dokumento ay posible.

Hindi kailanman naging napakadaling lumikha ng mga internasyonal na aplikasyon.

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

Template batay sa PDF generator

Ang aming system ay may isang template batay sa PDF generator na ginagawang mas madali kaysa kailanman bago upang lumikha ng mga internasyonal na dokumento ng negosyo.

Ipinatupad namin ang maraming mga tampok sa generator na ito, halimbawa, UTF-8 at Unicode support, TTF-Font, maraming filter, at paggamit ng mga arbitrary unit tulad ng em, px, pt, mm, cm, in at%.

At iyan ay isang maliit na bahagi lamang ng mga pag-andar ng 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>

Mas mabilis kaysa purong php code

Ang mahusay na pangangalaga ay kinuha hindi upang magdagdag ng hindi kinakailangang balasto sa code.

Ang kernel ng UCMS ay maaaring pangasiwaan ang mga kahilingan nang hindi isinasagawa ang mga query sa database. Ang mga tanong lamang na kailangang isagawa ay ang mga application mo.

Ang template engine ay maaaring ma-cache na nakabuo ng nilalaman, na nagreresulta sa napakabilis na pagproseso na mas mabilis pa kaysa sa PHP code.

Kung ang cache tag ay ginagamit nang matalino pagkatapos ay ang UCMS ay kahit na sa isang Raspberry Pi mas mabilis kaysa sa anumang iba pang mga sistema sa isang tunay na web server.

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

Simpleng pamamahala

Maaari mong pamahalaan ang iyong lohika sa negosyo bilang isang istraktura ng puno na naglalaman ng lahat ng kaugnay na mga katangian, kabilang ang mga karapatan sa pag-access na gumagana sa parehong paraan tulad ng sa isang sistema ng file.

Ang puno ng bagay ay may isang bilang ng mga kapaki-pakinabang na mga pamamaraan na ginagawang madali upang bumuo ng mga navigations ng site tulad ng mga menu, sidebars, path ng nabigasyon, at marami pa.

Lohika ng negosyo

Gusto mo bang malaman ang higit pa?

Mga Madalas Itanong

Maaari ba akong mag-download ng UCMS nang libre?

Ang pagbuo ng software na ito ay nakakuha ng maraming oras, pera, at karanasan. Ang mga gastos na ito ay kailangang sakop. Para sa kadahilanang ito, kinakailangan ang isang lisensya na gamitin ang UCMS.

Magiging bukas ba ang source ng UCMS?

Matapos mabayaran ang mga gastos sa pag-unlad, maaari naming i-publish ang source code at pahintulutan ang libreng paggamit ng non-komersyal para sa mga indibidwal (ngunit hindi mga kumpanya). Hindi mo dapat asahan na mangyari sa malapit na hinaharap, sa halip ng 2021 o mas bago.

Anong mga paraan ng pagbabayad ang maaari kong gamitin?

Maaari kang magbayad sa pamamagitan ng bank transfer o PayPal. Available din ang mga pagbabayad ng credit card sa pamamagitan ng PayPal, tinatanggap ang lahat ng mga pangunahing credit card mula sa Visa, Mastercard, American Express at Discover.

Kailan ko makuha ang license key?

Makakatanggap ka ng key ng lisensya at source code sa lalong madaling kredito ang pagbayad sa aming bank account. Kung magbabayad ka sa PayPal, ipapadala namin ang key ng lisensya at ang source code sa isang pagkaantala ng 3-5 araw pagkatapos matanggap ang pagbabayad upang protektahan kami mula sa pandaraya sa pagbabayad.

Ano ang mga tuntunin sa paglilisensya?

Nagbibigay kami ng mga may lisensya ng lisensya na hindi eksklusibo, di-maililipat, di-nabibili, permanenteng lisensya upang gamitin ang software na ito para sa isang domain ng internet. Ang lisensya ng software na ito ay hindi maaaring ilipat sa mga ikatlong partido o muling ibinebenta.

Maaari ba akong makakuha ng isang pasadyang lisensya / suporta?

Tawagan kami at pag-usapan natin ito. Nag-aalok kami ng maraming karagdagang mga serbisyo, tulad ng: Payo, suporta o paglikha ng isang balangkas ng iyong aplikasyon kung binabayaran mo kami para dito. Gayunpaman, hindi namin pinamamahalaan o pinapanatili ang anumang mga proyekto, at kakailanganin mo ang iyong sariling developer na patakbuhin ang iyong digital na negosyo para sa mahabang panahon.

Maaari ko bang i-publish ang aking proyekto sa Github?

Hindi pinapayagan na ipasa o i-publish ang source code ng UCMS nang buo o bahagi. Ang ibig sabihin nito ay maaari mo lamang i-publish ang iyong sariling code na isinulat mo ang iyong sarili, ngunit hindi mo mai-publish ang anumang bahagi ng UCMS code bilang open source sa github o katulad.

Makakakuha ba ako ng isang invoice kung bumili ako?

Siyempre, pagkatapos maipadala ang form ng order, makakatanggap ka ng pagkumpirma ng order / pro forma invoice (na walang kaugnayan sa buwis). Ang pangwakas na (at makabuluhang batas ng buwis) na invoice ay ipinadala kasama ng iyong key ng lisensya at ang source code pagkatapos ng resibo ng pagbabayad.

Kailangan ba akong magbayad ng VAT?

Kung nakatira ka sa isang estado ng miyembro ng European Union, dapat mo ring bayaran ang naaangkop na VAT sa iyong bansa. Depende ang rate ng VAT sa estado ng EU kung saan ka nakatira. Kung nakatira ka sa ibang lugar, walang VAT.

Ang mga gastos ba sa UCMS ay maaaring ibawas sa buwis?

Tiyaking tanungin ang iyong accountant! Kung ikaw ay isang kumpanya, ang mga pagkakataon ay napakabuti na maaari mong bawasan ang mga gastos nang ganap o kahit na bahagyang mula sa buwis. Sa perpektong kaso, hindi ka nagkakahalaga ng anumang bagay upang bumili ng lisensya ng UCMS.