Khung web mạnh mẽsáng tạo

Tóm tắt ngắn


UCMS là một cột mốc quan trọng trong phát triển web

Giới thiệu

UCMS là một khung công tác / CMS PHP mang tính cách mạng mới để phát triển các ứng dụng web doanh nghiệp quốc tế hóa.

Một trong những tính năng chính là công cụ mẫu tuyệt vời dựa trên cú pháp Twig. Công cụ mẫu này là một ngôn ngữ lập trình hoàn toàn mới giống như JavaScript.

Do sức mạnh của ngôn ngữ mẫu mới này, mọi thứ có thể được lập trình mà trước đây dường như là hoàn toàn không thể.

Lập trình giống như JavaScript
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

Đi trước thời đại

Ngôn ngữ mẫu mới bao gồm nhiều mô hình lập trình mới như giao diện hàm nước ngoài, hàm ẩn danh, hàm gọi lại, thẻ động, biểu thức hàm, chuỗi phương thức, currying và scriptable.

Nhờ sự làm việc chăm chỉ của một lập trình viên xuất sắc, ngôn ngữ mẫu mới là ngôn ngữ lập trình toàn năng, cung cấp nhiều giải pháp mới và biến những điều không thể thành có thể.

Bạn chỉ có thể có được công nghệ mới này ở đây vì sẽ mất nhiều năm để phát triển một thứ tương tự.

Thẻ động
  • {% 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.

Lập trình không giới hạn

Bạn có thể gọi bất kỳ chức năng hoặc phương thức nào trực tiếp từ các mẫu của bạn, bất kể là tĩnh hay hướng đối tượng.

Và bạn thậm chí có thể truy cập trực tiếp các hằng lớp và các hằng PHP.

Truy cập bất kỳ lớp hoặc chức năng
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

Lập trình ở cấp độ cao hơn

Với Twig mới, bạn có thể tham chiếu bất kỳ hàm nào như trong JavaScript, bất kể đó là hàm nội bộ PHP, phương thức Object, hàm tĩnh trong lớp hay hàm mẫu.

Ngoài ra, bất kỳ chức năng nội bộ PHP, bất kỳ chức năng mẫu và bất kỳ macro mẫu nào đều có thể được kết nối như trong JavaScript, để bạn có thể viết mã rất dễ đọc, dễ hiểu.

Tham khảo bất kỳ chức năng
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
Xâu chuỗi bất kỳ chức năng
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

Turing hoàn chỉnh

Ngôn ngữ mẫu mới là ngôn ngữ lập trình với tính đầy đủ của Turing.

Bạn có thể sử dụng tất cả các cấu trúc điều khiển và mô hình như trong bất kỳ ngôn ngữ lập trình hiện đại nào khác.

Các mẫu và biểu thức được biên dịch thành một cây cú pháp trừu tượng. Trình biên dịch có thể phát hiện và tối ưu hóa các biểu thức tĩnh để, ví dụ, 1 + 1 được lưu trữ dưới dạng 2 trong cây cú pháp trừu tượng.

Ngôn ngữ mẫu mang tính cách mạng mới này kết hợp các lợi thế của cú pháp PHP, JavaScript và cú pháp Twig, trong một ngôn ngữ lập trình mới đáng kinh ngạc và toàn năng.

Khả năng kịch bản đầy đủ
  • {% 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 %}

Bản dịch với ngữ cảnh

Các chuỗi có thể dịch có thể được định nghĩa rất dễ dàng và được trích xuất tự động dưới dạng tệp .po.

Một bối cảnh dịch thuật, biểu thức, hình thức số nhiều và bình luận người dịch cũng có thể được sử dụng.

Có thể tạo các bản dịch với các liên kết và định dạng kết hợp với thẻ đánh dấu và thậm chí các tài liệu PDF được quốc tế hóa.

Chưa bao giờ dễ dàng như vậy để tạo ra các ứng dụng quốc tế.

SimpleExample.twig
  • {% context 'Views.Application.Example' %}
  • {%- translate -%}
  • Hello world!
  • {%- endtranslate %}
  • {% endcontext %}
Ứng dụng.po
  • #: Views/Application/SimpleExample.twig:2
  • msgctxt "Views.Application.Example"
  • msgid "Hello world!"
  • msgstr "Hello world!"

Trình tạo PDF dựa trên mẫu

Hệ thống của chúng tôi có trình tạo PDF dựa trên mẫu giúp việc tạo tài liệu kinh doanh được quốc tế hóa dễ dàng hơn bao giờ hết.

Chúng tôi đã triển khai rất nhiều tính năng trong trình tạo này, ví dụ, hỗ trợ UTF-8 và Unicode, Phông chữ TTF, nhiều bộ lọc và sử dụng các đơn vị tùy ý như em, px, pt, mm, cm, in và%.

Và đó chỉ là một phần nhỏ trong các chức năng của Trình tạo PDF.

PDF kinh doanh
  • <?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>

Nhanh hơn mã php thuần

Rất cẩn thận đã không thêm các dằn không cần thiết vào mã.

Hạt nhân UCMS có thể xử lý các yêu cầu mà không cần thực hiện các truy vấn cơ sở dữ liệu. Các truy vấn duy nhất cần được thực hiện là những truy vấn của ứng dụng của bạn.

Công cụ mẫu có thể lưu trữ nội dung được tạo, dẫn đến xử lý cực nhanh, thậm chí còn nhanh hơn mã PHP.

Nếu thẻ bộ nhớ cache được sử dụng một cách khôn ngoan thì UCMS thậm chí còn trên Raspberry Pi nhanh hơn bất kỳ hệ thống nào khác trên máy chủ web thực.

Thẻ bộ nhớ cache
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
Nội dung lưu trữ
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

Quản lý đơn giản

Bạn có thể quản lý logic nghiệp vụ của mình dưới dạng cấu trúc cây chứa tất cả các thuộc tính có liên quan, bao gồm các quyền truy cập hoạt động theo cùng một cách như trong một hệ thống tệp.

Đối tượng cây có một số phương thức hữu ích giúp dễ dàng tạo điều hướng trang như menu, thanh bên, đường dẫn điều hướng và nhiều phương thức khác.

Logic kinh doanh

Bạn có muốn biết thêm?

Các câu hỏi thường gặp

Tôi có thể tải xuống UCMS miễn phí không?

Phát triển phần mềm này đã mất rất nhiều thời gian, tiền bạc và kinh nghiệm. Những chi phí này cần được bảo hiểm. Vì lý do này, giấy phép sử dụng UCMS là bắt buộc.

UCMS sẽ bao giờ là nguồn mở?

Sau khi chi phí phát triển được khấu hao, chúng tôi có thể xuất bản mã nguồn và cho phép sử dụng phi thương mại miễn phí cho các cá nhân (nhưng không phải cho các công ty). Bạn không nên mong đợi điều đó sẽ xảy ra trong tương lai gần, thay vào đó là vào năm 2021 hoặc muộn hơn.

Tôi có thể sử dụng phương thức thanh toán nào?

Bạn có thể thanh toán bằng chuyển khoản hoặc PayPal. Thanh toán bằng thẻ tín dụng cũng có thể được thực hiện thông qua PayPal, tất cả các thẻ tín dụng chính từ Visa, Mastercard, American Express và Discover đều được chấp nhận.

Khi nào tôi nhận được mã bản quyền?

Bạn sẽ nhận được mã cấp phép và mã nguồn ngay khi khoản thanh toán đã được ghi có vào tài khoản ngân hàng của chúng tôi. Nếu bạn thanh toán bằng PayPal, chúng tôi sẽ gửi mã cấp phép và mã nguồn chậm trễ 3-5 ngày sau khi nhận được khoản thanh toán để bảo vệ chúng tôi khỏi gian lận thanh toán.

Các điều khoản cấp phép là gì?

Chúng tôi cấp cho chủ sở hữu giấy phép một giấy phép không độc quyền, không thể chuyển nhượng, không thể bán lại, vĩnh viễn để sử dụng phần mềm này cho một tên miền internet. Giấy phép phần mềm này không thể được chuyển giao cho bên thứ ba hoặc bán lại.

Tôi có thể nhận được giấy phép / hỗ trợ tùy chỉnh không?

Gọi cho chúng tôi và để chúng tôi nói về nó. Chúng tôi cung cấp nhiều dịch vụ bổ sung, như: Tư vấn, hỗ trợ hoặc tạo bộ xương cho ứng dụng của bạn nếu bạn trả tiền cho chúng tôi cho việc này. Tuy nhiên, chúng tôi không quản lý hoặc duy trì bất kỳ dự án nào và bạn sẽ cần nhà phát triển của riêng mình để điều hành doanh nghiệp kỹ thuật số của bạn lâu dài.

Tôi có thể xuất bản dự án của mình trên Github không?

Không được phép truyền hoặc xuất bản mã nguồn UCMS toàn bộ hoặc một phần. Điều này có nghĩa là bạn chỉ có thể xuất bản mã của riêng bạn mà bạn đã tự viết, nhưng bạn không thể xuất bản bất kỳ phần nào của mã UCMS dưới dạng nguồn mở trên github hoặc tương tự.

Tôi sẽ nhận được hóa đơn nếu tôi mua?

Tất nhiên, sau khi gửi mẫu đơn đặt hàng, bạn sẽ nhận được hóa đơn xác nhận đơn hàng / mẫu đơn (không liên quan đến thuế). Hóa đơn cuối cùng (và luật thuế quan trọng) được gửi cùng với khóa giấy phép của bạn và mã nguồn sau khi nhận được thanh toán.

Tôi có phải trả VAT không?

Nếu bạn sống ở một quốc gia thành viên của Liên minh Châu Âu, bạn cũng phải trả VAT áp dụng cho quốc gia của mình. Thuế suất VAT phụ thuộc vào quốc gia thành viên EU nơi bạn sinh sống. Nếu bạn sống ở một nơi khác, không có thuế VAT.

Các chi phí UCMS có được khấu trừ thuế?

Hãy chắc chắn để hỏi kế toán của bạn! Nếu bạn là một công ty, cơ hội rất tốt là bạn có thể khấu trừ hoàn toàn chi phí hoặc ít nhất một phần từ thuế. Trong trường hợp lý tưởng, bạn không mất gì khi mua giấy phép UCMS.