Rangka kerja web yang kuat dan inovatif

Ringkasan pendek


UCMS merupakan satu kejayaan dalam pembangunan web

Pengenalan

UCMS adalah rangka kerja PHP / revolusioner baru untuk pembangunan aplikasi web perusahaan antarabangsa.

Salah satu ciri utama adalah enjin templat yang hebat yang berdasarkan sintaks Twig. Enjin templat ini adalah bahasa pengaturcaraan seperti JavaScript sepenuhnya.

Oleh kerana kuasa bahasa template baru ini, perkara boleh diprogramkan yang sebelum ini nampaknya mustahil.

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

Menjadi masa depan

Bahasa template baru termasuk banyak paradigma pengaturcaraan baru seperti antara muka fungsi asing, fungsi tanpa nama, panggilan balik, tag dinamik, ungkapan fungsi, cara mengejar, kari dan skrip.

Terima kasih kepada kerja keras pengaturcara yang cemerlang, bahasa template baru adalah bahasa pengaturcaraan yang maha kuasa yang menawarkan banyak penyelesaian baru dan menjadikan hal-hal mustahil.

Anda hanya boleh mendapatkan teknologi baru di sini kerana ia mengambil masa beberapa tahun untuk membangunkan sesuatu yang serupa.

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

Pemrograman tanpa had

Anda boleh memanggil mana-mana fungsi atau kaedah terus dari templat anda, tidak kira sama ada statik atau berorientasikan objek.

Dan anda juga boleh mengakses pemalar kelas dan pemalar PHP secara langsung.

Akses mana-mana kelas atau fungsi
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Pengaturcaraan pada tahap yang lebih tinggi

Dengan Twig baru, anda boleh merujuk sebarang fungsi seperti JavaScript, tidak kira sama ada fungsi dalaman PHP, kaedah Objek, fungsi statik dalam kelas atau fungsi templat.

Di samping itu, sebarang fungsi dalaman PHP, sebarang fungsi templat dan sebarang makro template boleh dirangka seperti dalam JavaScript, supaya anda boleh menulis kod yang sangat mudah dibaca yang mudah difahami.

Rujuk sebarang fungsi
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Rantai apa-apa fungsi
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing kesempurnaan

Bahasa templat baharu adalah bahasa pengaturcaraan dengan kelengkapan Turing.

Anda boleh menggunakan semua struktur kawalan dan paradigma seperti dalam bahasa pengaturcaraan yang lain.

Templat dan ungkapan disusun menjadi pokok sintaks abstrak. Pengkompil boleh mengesan dan mengoptimumkan ungkapan statik supaya, sebagai contoh, 1 + 1 disimpan sebagai 2 dalam pokok sintaks abstrak.

= 0 P = 0 0 0 = = = = = = it = 0 0 it 0 = = it it it 0 0 0 = = of P = it itah 0 0 P 0j = 0 0 = it = = = 0 = 0 P =il = it 0 0 = = = 0 = P = 0 P 0 it 0 P 0 = = it = 0 it it 0 it it = 0 0 0 0 0 0 0 = P 0 P 0 it = 0 it = P P = P = 0 it itil 0 0 = 0 = = = it 0 0 P 0 P it 0 = it = it it = 0 P it = P 0 P 0 it itH 0 = it 0 0 it P = = 0 it = P P P

Kemampuan skrip penuh
  • {% 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 %}

Terjemahan dengan konteks

Rentetan yang boleh diterjemahkan boleh ditakrifkan dengan mudah dan diekstrak secara automatik sebagai fail .po.

Konteks terjemahan, ungkapan, bentuk jamak dan ulasan penterjemah juga boleh digunakan.

Terjemahan dengan pautan dan pemformatan boleh dibuat dalam kombinasi dengan tag markdown, dan bahkan dokumen-dokumen PDF antarabangsa mungkin.

Ia tidak pernah begitu mudah untuk mewujudkan aplikasi antarabangsa.

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

Penjana PDF berasaskan template

Sistem kami mempunyai penjana PDF berasaskan template yang menjadikannya lebih mudah berbanding sebelum ini untuk membuat dokumen perniagaan antarabangsa.

Kami telah melaksanakan banyak ciri dalam penjana ini, sebagai contoh, UTF-8 dan sokongan Unicode, Font TTF, banyak penapis, dan penggunaan unit sewenang-wenangnya seperti em, px, pt, mm, cm, dalam dan%.

Dan itu hanya sebahagian kecil daripada fungsi Generator PDF.

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

Lebih cepat daripada kod php tulen

Penjagaan yang baik telah diambil untuk tidak menambah balast yang tidak perlu ke kod.

Kernel UCMS boleh mengendalikan permintaan tanpa melaksanakan pertanyaan pangkalan data. Satu-satunya pertanyaan yang perlu dilaksanakan ialah permohonan anda.

Enjin templat boleh menjana cache yang dijana, menghasilkan pemprosesan yang sangat pantas yang lebih cepat daripada kod PHP.

Sekiranya tag cache digunakan dengan bijak maka UCMS bahkan lebih cepat Raspberry Pi daripada sistem lain di pelayan web yang sebenar.

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

Pengurusan mudah

Anda boleh menguruskan logik perniagaan anda sebagai struktur pokok yang mengandungi semua sifat yang berkaitan, termasuk hak akses yang berfungsi dengan cara yang sama seperti dalam sistem fail.

It it it 0 0 it it 0 it = it = 0 it it 0 P it 0 it 0 0 0 it 0 0 0 = 0 0 P P P P 0 it 0 it = = P = 0 P 0 it = it P it P 0 P it P it P P = it = it it P it it P P it P it P P it = 0 it 0 0 0 it it P it P P it 0 P P P P P P P P P 0 0

Logik Perniagaan

Adakah anda ingin tahu lebih banyak?

Soalan Lazim

Bolehkah saya memuat turun UCMS secara percuma?

Membangunkan perisian ini telah mengambil banyak masa, wang, dan pengalaman. Kos ini perlu dilindungi. Atas sebab ini, lesen untuk menggunakan UCMS diperlukan.

Adakah UCMS akan menjadi sumber terbuka?

Selepas kos pembangunan telah dilunaskan, kami mungkin menerbitkan kod sumber dan membenarkan penggunaan bukan komersial secara percuma untuk individu (tetapi bukan syarikat). Anda tidak seharusnya mengharapkan hal itu berlaku dalam masa terdekat, tetapi pada tahun 2021 atau lebih.

Kaedah pembayaran apa yang boleh saya gunakan?

Anda boleh membayar melalui pemindahan bank atau PayPal. Pembayaran kad kredit juga boleh dilakukan melalui PayPal, semua kad kredit utama dari Visa, Mastercard, American Express dan Discover diterima.

Bilakah saya mendapat kunci lesen?

Anda akan menerima kunci lesen dan kod sumber sebaik sahaja pembayaran telah dikreditkan ke akaun bank kami. Jika anda membayar dengan PayPal, kami akan menghantar kunci lesen dan kod sumber dengan kelewatan 3-5 hari selepas penerimaan pembayaran untuk melindungi kami daripada penipuan pembayaran.

Apakah syarat pelesenan?

Kami memberikan pemegang lesen yang bukan eksklusif, tidak boleh dipindah milik, tidak boleh dijual semula dan lesen kekal untuk menggunakan perisian ini untuk satu domain internet. Lesen perisian ini tidak boleh dipindahkan kepada pihak ketiga atau dijual semula.

Bolehkah saya mendapatkan lesen / sokongan tersuai?

Hubungi kami dan marilah kita bercakap mengenainya. Kami menawarkan banyak perkhidmatan tambahan, seperti: Nasihat, sokongan atau penciptaan rangka aplikasi anda jika anda membayar kami untuk ini. Walau bagaimanapun, kami tidak menguruskan atau menyelenggara sebarang projek, dan anda memerlukan pemaju anda sendiri untuk menjalankan perniagaan digital anda untuk jangka panjang.

Bolehkah saya menerbitkan projek saya di Github?

Ia tidak dibenarkan untuk menyiarkan atau menerbitkan kod sumber UCMS secara keseluruhan atau sebahagiannya. Ini bermakna anda hanya boleh menerbitkan kod anda sendiri yang anda tulis sendiri, tetapi anda tidak dapat menerbitkan mana-mana bahagian kod UCMS sebagai sumber terbuka pada github atau serupa.

Adakah saya akan mendapat invois sekiranya saya membeli?

Sudah tentu, selepas menghantar borang pesanan, anda akan menerima invois pengesahan pesanan / pro forma (yang tanpa kaitan cukai). Invois akhir (dan undang-undang penting) invois dihantar bersama kunci lesen anda dan kod sumber selepas penerimaan pembayaran.

Adakah saya perlu membayar VAT?

Sekiranya anda tinggal di negara anggota Kesatuan Eropah, anda juga mesti membayar VAT yang dikenakan ke negara anda. Kadar VAT bergantung pada negara anggota EU di mana anda tinggal. Jika anda tinggal di tempat lain, tidak ada VAT.

Adakah UCMS kos cukai yang boleh ditolak?

Pastikan anda bertanya kepada akauntan anda! Sekiranya anda adalah syarikat, kemungkinan besar anda dapat mengurangkan kos sepenuhnya atau sekurang-kurangnya sebahagian daripada cukai. Dalam kes yang ideal, ia tidak membebankan anda apa-apa untuk membeli lesen UCMS.