قوية و مبتكرة إطار الشبكة

ملخص قصير


UCMS هو علامة فارقة في تطوير الشبكة

المقدمة

UCMS هو إطار عمل PHP / CMS ثوري جديد لتطوير تطبيقات الويب المؤسسات الدولية.

واحدة من الميزات الرئيسية هو محرك قالب رائع الذي يستند إلى بناء الجملة تويج. محرك القالب هذا هو لغة برمجة جديدة تشبه JavaScript تمامًا.

نظرًا لقوة لغة القالب الجديدة هذه ، يمكن برمجة الأمور التي بدت مستحيلة في السابق.

برمجة تشبه JavaScript
  • {% set my_filter = function( number ) {
  • return number & 1
  • }
  • %}
  • <script>
  • var odd_numbers = {{
  • [1, 2, 3].\array_filter(
  • my_filter
  • )
  • }}
  • </script>

يكون متقدما من الأوقات

تتضمن لغة القالب الجديدة العديد من نماذج البرمجة الجديدة مثل واجهة دالة خارجية ، وظائف مجهولة ، عمليات رد اتصال ، علامات ديناميكية ، تعبيرات دالة ، تسلسل طريقة ، currying و scriptability.

بفضل العمل الشاق للمبرمج اللامع ، فإن لغة القالب الجديدة هي لغة برمجة عالية الجودة تقدم العديد من الحلول الجديدة وتجعل الأشياء المستحيلة ممكنة.

يمكنك الحصول على هذه التقنية الجديدة هنا فقط لأن الأمر سيستغرق سنوات لتطوير شيء مماثل.

العلامات الديناميكية
  • {% 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.

برمجة بلا حدود

يمكنك استدعاء أي وظيفة أو طريقة مباشرة من القوالب الخاصة بك ، بغض النظر عن ما إذا كانت ثابتة أو موجهة للكائنات.

ويمكنك حتى الوصول إلى ثوابتك في الفصل وثوابت PHP مباشرة.

الوصول إلى أي فئة أو وظيفة
  • {% set api = new \Your\Api( ucms.database ) %}
  • {{
  • api.doSomething('Hello World',
  • api::ANY_CONSTANT
  • )
  • }}

البرمجة على مستوى أعلى

باستخدام Twig الجديدة ، يمكنك الإشارة إلى أي وظيفة مثل JavaScript ، بغض النظر عن كونها دالة PHP داخلية ، أو طريقة Object ، أو دالة ثابتة في فئة أو وظيفة قالب.

بالإضافة إلى ذلك ، يمكن ربط أي دالة داخلية لـ PHP وأي وظيفة قالب وأي قالب ماكرو كما هو الحال في JavaScript ، بحيث يمكنك كتابة شفرة سهلة القراءة يسهل فهمها.

مرجع أي وظيفة
  • {% set
  • message = "Hello World \u263a",
  • byteLength = \strlen,
  • charLength = \mb_strlen
  • %}
  • Byte length: {{ message.byteLength() }}
  • Char length: {{ message.charLength() }}
سلسلة أي وظيفة
  • Hello {{ 'dlrow'.\strrev().\ucfirst() }}

تأكد من الكمال

لغة القالب الجديدة هي لغة برمجة مع Turing completeness.

يمكنك استخدام جميع هياكل التحكم والنماذج كما هو الحال في أي لغة برمجة حديثة.

يتم تصنيف القوالب والعبارات إلى شجرة تجريبية مجردة. يستطيع المحول البرمجي اكتشاف وتحسين التعبيرات الثابتة بحيث ، على سبيل المثال ، يتم تخزين 1 + 1 ك 2 في شجرة بناء الجملة المجردة.

تجمع هذه اللغة النموذجية الثورية الجديدة بين مزايا لغة PHP وجافا سكريبت وتركيبة 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-Fonts والعديد من الفلاتر واستخدام وحدات عشوائية مثل em و px و pt و mm و cm و in و٪.

وهذا جزء صغير من وظائف مولد PDF.

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 نقي

وقد اتخذت الحرص الشديد على عدم إضافة الصابورة لا لزوم لها إلى رمز.

يمكن لـ kernel 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 أيام بعد استلام المبلغ لحمايتنا من الاحتيال في الدفع.

ما هي شروط الترخيص؟

نمنح حاملي التراخيص ترخيصًا غير حصري وغير قابل للتحويل وغير قابل لإعادة البيع لاستخدام هذا البرنامج في نطاق واحد على الإنترنت. لا يمكن نقل ترخيص البرنامج هذا إلى أطراف ثالثة أو إعادة بيعه.

هل يمكنني الحصول على ترخيص / دعم مخصص؟

اتصل بنا ودعنا نتحدث عن ذلك. نحن نقدم العديد من الخدمات الإضافية ، مثل: تقديم المشورة أو الدعم أو إنشاء هيكل عظمي لتطبيقك إذا كنت تدفع لنا مقابل ذلك. ومع ذلك ، فإننا لا ندير أو صيانة أي مشاريع ، وسوف تحتاج إلى المطور الخاص بك لتشغيل عملك الرقمي على المدى الطويل.

هل يمكنني نشر مشروعي على جيثب؟

لا يجوز تمرير أو نشر شفرة مصدر UCMS كليًا أو جزئيًا. هذا يعني أنه يمكنك فقط نشر الرمز الخاص بك الذي كتبته بنفسك ، لكن لا يمكنك نشر أي أجزاء من كود UCMS كمصدر مفتوح على github أو ما شابه ذلك.

هل سأحصل على فاتورة إذا اشتريت؟

بالطبع ، بعد إرسال نموذج الطلب ، ستتلقى تأكيدًا على الطلب / فاتورة شكلية (بدون أي ضريبة). يتم إرسال الفاتورة النهائية (والقانون الضريبي الكبير) مع مفتاح الترخيص ورمز المصدر بعد استلام الدفع.

هل يجب علي دفع ضريبة القيمة المضافة؟

إذا كنت تعيش في دولة عضو في الاتحاد الأوروبي ، فيجب عليك أيضًا دفع ضريبة القيمة المضافة المطبقة على بلدك. يعتمد معدل ضريبة القيمة المضافة على الدولة العضو في الاتحاد الأوروبي التي تعيش فيها. إذا كنت تعيش في مكان آخر ، فلا توجد ضريبة على القيمة المضافة.

هل تكاليف ضرائب UCMS قابلة للخصم؟

تأكد من سؤال المحاسب الخاص بك! إذا كنت شركة ، فثمة فرص جيدة للغاية في أن يمكنك خصم التكاليف بالكامل أو جزئيًا على الأقل من الضريبة. في الحالة المثالية ، لن يكلفك أي شيء شراء ترخيص UCMS.