Potężne i innowacyjne środowisko sieciowe

Krótkie podsumowanie


UCMS jest kamieniem milowym w rozwoju sieci

Wprowadzenie

UCMS to nowy rewolucyjny framework PHP / CMS do rozwoju zinternacjonalizowanych korporacyjnych aplikacji internetowych.

Jedną z kluczowych funkcji jest niesamowity silnik szablonowy oparty na składni Twig. Ten silnik szablonów jest zupełnie nowym językiem programowania podobnym do JavaScript.

Ze względu na moc tego nowego języka szablonów, można zaprogramować rzeczy, które wcześniej wydawały się całkowicie niemożliwe.

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

Bądź na czasie

Nowy język szablonów zawiera wiele nowych paradygmatów programowania, takich jak obcy interfejs funkcji, funkcje anonimowe, wywołania zwrotne, tagi dynamiczne, wyrażenia funkcji, łańcuchy metod, curry i skryptowalność.

Dzięki ciężkiej pracy znakomitego programisty, nowy język szablonów jest wszechstronnym językiem programowania, który oferuje wiele nowych rozwiązań i sprawia, że ​​rzeczy niemożliwe stają się możliwe.

Możesz dostać tę nową technologię tylko tutaj, ponieważ opracowanie tego czegoś zajęłoby lata.

Tagi dynamiczne
  • {% addtag leetspeak as function( words ) {
  • return words.\strtr(
  • 'leet', '1337'
  • )
  • }
  • %}
  • {% leetspeak %}
  • And God said, 'Let there be light'
  • and there was light.
  • {% endleetspeak %}
Zacznijmy mówić
  • And God said, 'L37 7h3r3 b3 1igh7'
  • and 7h3r3 was 1igh7.

Programowanie bez ograniczeń

Możesz wywołać dowolną funkcję lub metodę bezpośrednio ze swoich szablonów, bez względu na to, czy są one statyczne czy obiektowe.

Możesz także uzyskać bezpośredni dostęp do stałych klas i stałych PHP.

Uzyskaj dostęp do dowolnej klasy lub funkcji
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Programowanie na wyższym poziomie

Z nowym Twigiem możesz odwoływać się do dowolnej funkcji, jak w JavaScript, bez względu na to, czy jest to wewnętrzna funkcja PHP, metoda Object, statyczna funkcja w klasie lub funkcja szablonu.

Dodatkowo, każda wewnętrzna funkcja PHP, dowolna funkcja szablonu i dowolne makra szablonu mogą być powiązane łańcuchowo, tak jak w JavaScript, dzięki czemu możesz napisać bardzo czytelny kod, który jest łatwy do zrozumienia.

Odniesienie do dowolnej funkcji
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Łańcuch dowolnej funkcji
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing kompletności

Nowy język szablonów to język programowania z kompletnością Turinga.

Możesz używać wszystkich struktur kontrolnych i paradygmatów, jak w każdym innym nowoczesnym języku programowania.

Szablony i wyrażenia są kompilowane w abstrakcyjne drzewo składniowe. Kompilator może wykrywać i optymalizować wyrażenia statyczne, dzięki czemu np. 1 + 1 jest zapisywany jako 2 w drzewie składni abstrakcyjnej.

Ten nowy rewolucyjny język szablonów łączy zalety PHP, JavaScript i składni Twig, w nowym, niesamowitym i wszechmocnym języku programowania.

Pełna zdolność skryptowa
  • {% 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 %}

Tłumaczenia z kontekstem

Translatowalne łańcuchy można zdefiniować bardzo łatwo i wyodrębnić automatycznie jako plik .po.

Można również użyć kontekstu tłumaczenia, wyrażeń, form liczby mnogiej i komentarzy tłumacza.

Tłumaczenia z łączami i formatowaniem mogą być tworzone w połączeniu ze znacznikiem oceny, a nawet umiędzynarodowione dokumenty PDF są możliwe.

Tworzenie internacjonalizowanych aplikacji nigdy nie było tak proste.

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

Generator PDF oparty na szablonach

Nasz system ma generator szablonów PDF, który ułatwia tworzenie międzynarodowych dokumentów biznesowych.

Zaimplementowaliśmy wiele funkcji w tym generatorze, na przykład obsługę UTF-8 i Unicode, czcionki TTF, wiele filtrów i użycie dowolnych jednostek, takich jak em, px, pt, mm, cm, in i%.

To tylko niewielka część funkcji generatora PDF.

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

Szybszy niż czysty kod php

Szczególną uwagę zwrócono na to, aby nie dodawać niepotrzebnego balastu do kodu.

Jądro UCMS może obsługiwać żądania bez wykonywania zapytań do bazy danych. Jedyne zapytania, które należy wykonać, to zapytania aplikacji.

Silnik szablonów może buforować wygenerowaną treść, co powoduje wyjątkowo szybkie przetwarzanie, które jest nawet szybsze niż kod PHP.

Jeśli tag pamięci podręcznej był używany mądrze, to UCMS jest nawet na Raspberry Pi szybszy niż jakikolwiek inny system na prawdziwym serwerze sieciowym.

Tag pamięci podręcznej
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Treści z pamięci podręcznej
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Proste zarządzanie

Można zarządzać logiką biznesową jako strukturą drzewa, która zawiera wszystkie odpowiednie właściwości, w tym prawa dostępu działające w taki sam sposób, jak w systemie plików.

Obiekt drzewa ma wiele użytecznych metod, które ułatwiają generowanie nawigacji w witrynie, takich jak menu, paski boczne, ścieżki nawigacyjne i wiele innych.

Logika biznesowa

Chcesz dowiedzieć się więcej?

Często Zadawane Pytania

Czy mogę pobrać UCMS za darmo?

Opracowanie tego oprogramowania zajęło dużo czasu, pieniędzy i doświadczenia. Koszty te muszą zostać pokryte. Z tego powodu wymagana jest licencja na używanie UCMS.

Czy UCMS kiedykolwiek będzie open source?

Po zamortyzowaniu kosztów prac rozwojowych możemy opublikować kod źródłowy i zezwolić osobom trzecim na korzystanie z niekomercyjnego użytku (ale nie firm). Nie należy oczekiwać, że wydarzy się to w najbliższej przyszłości, raczej w 2021 lub później.

Jakich metod płatności mogę użyć?

Możesz zapłacić przelewem bankowym lub PayPal. Płatności kartą kredytową są również możliwe za pośrednictwem PayPal, akceptowane są wszystkie główne karty kredytowe Visa, Mastercard, American Express i Discover.

Kiedy otrzymam klucz licencyjny?

Klucz licencyjny i kod źródłowy otrzymasz natychmiast po zaksięgowaniu płatności na naszym koncie bankowym. Jeśli płacisz w systemie PayPal, wyślemy klucz licencyjny i kod źródłowy z opóźnieniem 3-5 dni po otrzymaniu płatności, aby chronić nas przed oszustwem płatniczym.

Jakie są warunki licencji?

Udzielamy licencjobiorcy niewyłącznej, nieprzenośnej, nie nadającej się do ponownego wykorzystania, wieczystej licencji na korzystanie z tego oprogramowania w jednej domenie internetowej. Ta licencja na oprogramowanie nie może zostać przekazana stronom trzecim ani odsprzedana.

Czy mogę uzyskać niestandardową licencję / wsparcie?

Zadzwoń do nas i porozmawiajmy o tym. Oferujemy wiele dodatkowych usług, takich jak: doradztwo, wsparcie lub tworzenie szkieletu aplikacji, jeśli zapłacisz za to. Nie zarządzamy jednak żadnymi projektami ani nimi nie zarządzamy, a Ty będziesz potrzebować własnego dewelopera, aby prowadzić swój biznes cyfrowy na dłuższą metę.

Czy mogę opublikować mój projekt na Github?

Nie wolno przekazywać ani publikować kodu źródłowego UCMS w całości lub w części. Oznacza to, że możesz publikować tylko swój własny kod, który sam napisałeś, ale nie możesz publikować żadnych części kodu UCMS jako open source na github lub podobnych.

Czy otrzymam fakturę, jeśli dokonam zakupu?

Oczywiście po wysłaniu formularza zamówienia otrzymasz potwierdzenie zamówienia / fakturę pro forma (która nie ma znaczenia podatkowego). Faktura końcowa (i prawo podatkowe znaczące) jest wysyłana wraz z kluczem licencyjnym i kodem źródłowym po otrzymaniu płatności.

Czy muszę płacić VAT?

Jeśli mieszkasz w państwie członkowskim Unii Europejskiej, musisz również zapłacić podatek VAT obowiązujący w Twoim kraju. Stawka VAT zależy od państwa członkowskiego UE, w którym mieszkasz. Jeśli mieszkasz w innym miejscu, nie ma podatku VAT.

Czy koszty UCMS można odliczyć od podatku?

Pamiętaj, aby zapytać swojego księgowego! Jeśli jesteś firmą, szanse są bardzo dobre, że możesz odliczyć koszty całkowicie lub przynajmniej częściowo od podatku. W idealnym przypadku zakup licencji UCMS nie kosztuje nic.