للاتصال باللغة الإنجليزية ، انتقل إلى readme.en
أداة لأتمتة التحكم في جودة تطبيق التطبيقات المكتوبة على PHP ، وكذلك تبسيط تحليل وتصور بعض المقاييس.
كانت فكرة إنشائها مستوحاة من كتاب Pure Architecture (روبرت مارتن). إذا لم تكن قد قرأتها بعد ، فيمكنك التعرف على أفكارها الرئيسية التي تستند إليها الأداة https://habr.com/en/post/504590/
composer require v.chetkov/php-clean-architecture --devبعد ذلك ، نقوم بنسخ نموذج تكوين إلى جذر المشروع
cp vendor/v.chetkov/php-clean-architecture/example.phpca-config.php phpca-config.phpيتم وصف جميع تفاصيل التكوين بالتفصيل في عينة من التكوين https://github.com/chetkov/php-lean- العمارة/blob/master/example.phpca-config.php ، وكذلك في المقالات https://habr.com/en/post/504590/ و https://habr.com/n/nen/npros/npost/npost/npost/post/504590/ و https.
vendor/bin/phpca-build-reports { ? path/to/phpca-config.php} يتصور التقرير الوضع الحالي للمشروع ، ويعرض بشكل واضح العلاقة بين المكونات ، وقوتها ، وإزالة المكونات من التسلسل الرئيسي ، ويسلط الضوء أيضًا على التبعيات غير المرغوب فيها والمشاكل المعمارية الأخرى التي تم اكتشافها على أساس التكوين. 

vendor/bin/phpca-check { ? path/to/phpca-config.php}في حالة الانتهاك من خلال مدونة القيود التي حددها التكوين ، فإنه يعلم بالمشاكل المكتشفة ويكمل التنفيذ بالخطأ. يوصى بإضافة إطلاق هذا الأمر في CI (هذا يضمن امتثال الرمز الذي يدخل في التجميع ، والقيود التي تم تكوينها)
vendor/bin/phpca-allow-current-state { ? path/to/phpca-config.php}سيحافظ الفريق على الوضع الحالي للمشروع ، العلاقة بين الفئات الحالية ، إلى ملف منفصل. مع إطلاق PHPCA اللاحق ، سيتم تجاهل المشكلات المتعلقة بالحالة المحفوظة.
هذا يجعل من الممكن توصيل الهندسة المعمارية PHP-XLEAN بسهولة ليس فقط بالمشاريع الجديدة ، ولكن أيضًا بمشاكل موجودة بالفعل والتي تعاني بالفعل من المشكلات ، والتي تستغرق وقتًا طويلاً.
إذا كنت ترغب في التحقق من وجود مشكلات أو بناء رسم بياني الاعتماد وإجراء تحليل ليس على المشروع بأكمله ، ولكن من خلال جزء منه (على سبيل المثال ، وفقًا لقائمة الملفات المتغيرة) ، يمكنك تعيين قيمة البيئة المتغيرة PHPCA_LOALLED_PATHS :
export PHPCA_ALLOWED_PATHS= ` git diff master --name-only ` PHPCA_REPORTS_DIR= ' phpca-report ' ; vendor/bin/phpca-build-reports { ? path/to/phpca-config.php}