​​​強力​​​で​​​​革新的な​​​Webフレームワーク

​​​簡単なまとめ


​​​UCMS​​​は​​​Web開発​​における​​​​マイルストーン​​​です。

​​​前書き

​​​UCMS​​​は、国際化されたエンタープライズWebアプリケーションを開発するための新しい革命的なPHPフレームワーク/ CMSです。

​​​重要な機能の​​​1つは、​​Twig構文に基づいた素晴らしいテンプレートエンジンです。 ​​​このテンプレートエンジンは、まったく​​​​新しいJavaScript風のプログラミング言語​​​です。

​​​この新しいテンプレート言語の力のおかげで、以前はまったく不可能だったものをプログラムすることができます。

​​​JavaScript風のプログラミング
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

​​​時代を​​​先取り​​する

​​​新しいテンプレート言語には、外部関数インタフェース、無名関数、コールバック、動的タグ、関数式、メソッドチェーン、カリー化、スクリプト化など、多くの新しいプログラミングパラダイムが含まれています。

​​​優れたプログラマーの努力のおかげで、新しいテンプレート言語は、多くの新しい解決策を提供し、不可能なことを可能にする万能のプログラミング言語です。

​​​この新しいテクノロジを入手できるのは、似たようなものを開発するのに何年もかかるからです。

​​​動的タグ
  • {% addtag leetspeak as function( words ) {
  • return words.\strtr(
  • 'leet', '1337'
  • )
  • }
  • %}
  • {% leetspeak %}
  • And God said, 'Let there be light'
  • and there was light.
  • {% endleetspeak %}
​​​リーツピーク
  • And God said, 'L37 7h3r3 b3 1igh7'
  • and 7h3r3 was 1igh7.

​​​制限なしの​​​プログラミング

​​​静的またはオブジェクト指向を問わず、テンプレートから直接関数やメソッドを呼び出すことができます。

​​​クラス定数やPHP定数に直接アクセスすることもできます。

​​​任意のクラスまたは関数にアクセスする
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

​​​​高レベル​​でのプログラミング

​​​新しいTwigでは、PHPの内部関数、Objectメソッド、クラス内の静的関数、テンプレート関数のいずれであっても、JavaScriptのような任意の関数を参照できます。

​​​さらに、PHPの内部関数、テンプレート関数、およびテンプレートマクロをJavaScriptのように連鎖させることができるので、理解しやすい非常に読みやすいコードを書くことができます。

​​​任意の機能を参照
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
​​​任意の機能をチェーンする
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

​​​チューリング​​​完全性

​​​新しいテンプレート言語は、​​​​チューリング完全性を​​​備えたプログラミング言語​​です。

​​​他の現代のプログラミング言語と同様に、すべての制御構造とパラダイムを使用できます。

​​​テンプレートと式は抽象構文木にコンパイルされます。 ​​​たとえば、​​​​1 + 1​​​が​​抽象構文ツリーで​​​​2​​​として格納される​​ように、コンパイラは静的表現を検出および最適化でき​​ます。

​​​この新しい革命的なテンプレート言語は、PHP、JavaScript、Twig構文の長所を、信じられないほどの全能の新しいプログラミング言語で組み合わせたものです。

​​​完全なスクリプト機能
  • {% 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 %}

​​​文脈による​​​翻訳

​​​翻訳可能な文字列は非常に簡単に定義でき、自動的に.poファイルとして抽出できます。

​​​翻訳文脈、表現、複数形、翻訳者のコメントも使用できます。

​​​マークダウンタグと組み合わせてリンクやフォーマットを使った翻訳を作成することができ、さらに国際化されたPDF文書も可能です。

​​​国際化されたアプリケーションを作成するのはそれほど簡単ではありませんでした。

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

​​​テンプレートベースの​​​​PDFジェネレータ

​​​私たちのシステムは国際化されたビジネス文書を作成することをこれまで以上に簡単にするテンプレートベースのPDFジェネレータを持っています。

​​​このジェネレータには、UTF-8とUnicodeのサポート、TTFフォント、多数のフィルタ、em、px、pt、mm、cm、in、%などの任意の単位の使用など、多くの機能が実装されています。

​​​そしてそれはPDF Generatorの機能のほんの一部です。

​​​ビジネス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>

​​​純粋なphpコード​​​より速い

​​​コードに不要なバラストを追加しないように細心の注意が払われています。

​​​UCMSカーネルはデータベースクエリを実行せずにリクエストを処理できます。 ​​​実行する必要がある唯一のクエリはあなたのアプリケーションのものです。

​​​テンプレートエンジンは生成されたコンテンツをキャッシュすることができます。その結果、PHPコードよりもはるかに速い非常に高速な処理が可能になります。

​​​キャッシュタグが賢く使用されたならば、UCMSは実際のウェブサーバの上の他のどのシステムよりも速くRaspberry Piの上にさえあります。

​​​キャッシュタグ
  • {% cache %}
  • {{
  • yourApi.getItems().renderRows()
  • }}
  • {% endcache %}
​​​キャッシュされたコンテンツ
  • ...
  • <p>Website was generated in 1 ms</p>
  • </body>
  • </html>

​​​簡単な​​​管理

​​​ビジネスロジックは、ファイルシステムと同じように機能するアクセス権を含む、すべての関連プロパティを含むツリー構造として管理できます。

​​​ツリーオブジェクトには、メニュー、サイドバー、ナビゲーションパスなどのサイトナビゲーションを簡単に生成するための便利なメソッドがいくつかあります。

​​​ビジネスの論理

​​​もっと知りたい​​​ですか?

​​​よくある質問

​​​UCMSを無料でダウンロードできますか?

​​​このソフトウェアを開発することは多くの時間、お金、そして経験を要しました。 ​​​これらの費用は賄われる必要があります。 ​​​このため、UCMSを使用するためのライセンスが必要です。

​​​UCMSはオープンソースになりますか?

​​​開発費が償却された後、私達はソースコードを公開し、個人のために無料で非営利的な使用を許可するかもしれません(しかし会社ではありません)。 ​​​あなたはそれが近い将来ではなくむしろ2021年以降に起こると予想するべきではありません。

​​​支払い方法は?

​​​銀行振込またはPayPalでお支払いいただけます。 ​​​クレジットカードによる支払いもPayPal経由で可能で、Visa、Mastercard、American Express、Discoverからのすべての主要なクレジットカードが受け入れられます。

​​​ライセンスキーはいつ入手できますか。

​​​支払いが弊社の銀行口座に入金されるとすぐに、ライセンスキーとソースコードを受け取ります。 ​​​あなたがPayPalで支払うならば、我々は支払い詐欺から私たちを保護するために支払いの受領後3-5日の遅れでライセンスキーとソースコードを送ります。

​​​ライセンス条項は何ですか?

​​​1つのインターネットドメインでこのソフトウェアを使用するための非独占的、譲渡不可、再販不可の永久ライセンスをライセンス所有者に付与します。 ​​​このソフトウェアライセンスを第三者に譲渡したり転売することはできません。

​​​カスタムライセンス/サポートを受けることができますか?

​​​私たちに電話して、それについて話させてください。 ​​​あなたがこれのために私達に支払うならば、我々はそのような多くの追加サービスを提供します:アドバイス、あなたのアプリケーションの骨格の作成またはサポート。 ​​​ただし、プロジェクトの管理や維持は行われていません。デジタルビジネスを長期にわたって運営するには、独自の開発者が必要です。

​​​自分のプロジェクトをGithubに公開できますか?

​​​UCMSソースコードの全部または一部を譲渡または公表することは許可されていません。 ​​​つまり、自分が書いた自分のコードしか公開できないが、UCMSコードの一部をgithubなどのオープンソースとして公開することはできません。

​​​購入すれば請求書はもらえますか?

​​​もちろん、注文フォームを送った後、あなたは注文の確認書/プロフォーマインボイスを受け取るでしょう(それは税の関連性なしでです)。 ​​​最後の(そして税法上重要な)請求書は、支払いの受領後に、ライセンスキーとソースコードと共に送信されます。

​​​VATを支払う必要がありますか?

​​​あなたが欧州連合の加盟国に住んでいるならば、あなたはあなたの国に適切なVATも払わなければなりません。 ​​​VAT税率は、あなたが住んでいるEU加盟国によって異なります。 ​​​あなたが他の場所に住んでいるならば、付加価値税はありません。

​​​UCMS費用は課税控除の対象になりますか?

​​​あなたの会計士に聞いてください!​​あなたが会社であるならば、あなたは完全にまたは少なくとも部分的に税からコストを控除することができるという非常に良い可能性があります。 ​​​理想的なケースでは、UCMSライセンスを購入するのに費用はかかりません。