البرمجة

كيفية إنشاء تطبيق وحدة التحكم في Zend Framework 3

كيفية إنشاء تطبيق وحدة التحكم في Zend Framework 3

في Zend Framework 2، من السهل جدًا إضافة شعار الوحدة الأولية إلى تطبيقات وحدة التحكم. كل ما علينا فعله هو تنفيذ الأساليب getConsoleBanner و getConsoleUsage وتنفيذ واجهات Zend\ModuleManager\Feature\ConsoleUsageProviderInterface أو ConsoleBannerProviderInterface.

هذا يكفي لعرض هذه الرسائل في وحدة التحكم عند بدء تشغيل public/index.php عبر CLI.

في Zend Framework 3، الأمر ليس كذلك.

فعل نفس الإعداد لا يوفر نفس النتيجة. في الواقع، في وحدة التحكم نرى الصفحة HTML الافتراضية لتطبيق الهيكل العظمي بنفس الطريقة التي نزور بها عبر المتصفح.

تُعرض تلك الصفحة قبل تثبيت الوحدة المخصصة:
هنا توجد وثائق وحدة zend-mvc-console
https://zendframework.github.io/zend-mvc-console/intro/

حتى بعد تثبيت الوحدة كما هو مقترح ('Zend\Mvc\Console' مُضافة في تعريفات الوحدة) لا تظهر الشعارات في وحدة التحكم. لقد قمت بالاختبار مع تفريغ متغير داخل الأساليب وأنا قادر على عرض البيانات، لذا الإطار ينفذ تلك الأساليب ولكن لا يُظهر أي نتيجة في وحدة التحكم.

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

لقد قمت بالتفتيش في كود الإطار ويبدو أن فئة Zend\Mvc\Console\ResponseSender\ConsoleResponseSender لم يتم تنفيذها أبدًا.

هل يجب علي تسجيل بعض استراتيجيات view_manager للحصول على شيء معروض في CLI؟

هنا المصادر فوق تطبيق هيكل العظمي zf3:
https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b

تشغيل التطبيق:

$ php -v
PHP 7.0.6 (cli) (built: Apr 27 2016 14:00:40) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

$ php public/index.php
Application\Module::getConsoleBanner
Application\Module::getConsoleUsage

$ php public/index.php user
Application\Controller\IndexController::indexAction

المزيد من المعلومات

بالتأكيد، في Zend Framework 3، يتم تشغيل وحدة التحكم في وضع CLI بواسطة الأمر php public/index.php. لكن، لعرض شعار الموديول واستخدام الوحدة في وضع CLI بشكل صحيح، يجب أن تقوم بتحديد بعض الإعدادات بشكل صحيح في تطبيقك.

أولاً، تأكد من أنك قمت بتحديد وحدة التحكم بشكل صحيح في ملف التكوين module.config.php، على سبيل المثال:

php
return [ 'modules' => [ // ... 'Application', 'Zend\Mvc\Console', ], // ... ];

بعد ذلك، يمكنك تنفيذ الأوامر التالية لعرض شعار الموديول واستخدام الوحدة في وضع CLI:

bash
$ php public/index.php $ php public/index.php user

إذا كانت هناك مشكلة في عرض شعار الموديول أو استخدام الوحدة في وضع CLI، يُفضل التحقق من الإعدادات الخاصة بك والتأكد من أن كل شيء مُعدّ بشكل صحيح.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر