emacs واجهة إلى phpstan ، تشمل المدقق ل flycheck.
Mx package-install flycheck-phpstan( defun my-php-mode-setup ()
" My PHP-mode hook. "
( require 'flycheck-phpstan )
(flycheck-mode t ))
( add-hook 'php-mode-hook 'my-php-mode-setup )( add-hook 'php-mode-hook # 'flymake-phpstan-turn-on )تثبيت صورة Docker و Phpstan/Phpstan.
إذا كنت تستخدم دائمًا Docker لـ phpstan ، فأضف ما يلي إلى ملف .emacs الخاص بك (~~/.emacs.d/init.el ~)
( setq-default phpstan-executable 'docker ) ضع ما يلي في ملفات .dir-locals.el على دليل الجذر للمشروع.
(( nil . ((php-project-root . git)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-docker.neon " ))
(phpstan-memory-limit . " 1G " )
(phpstan-level . 7 ))))إذا كان مؤلف المشروع الخاص بك يعتمد على Phpstan ، فلن تحتاج إلى تعيين أي شيء.
(( nil . ((php-project-root . git)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-docker.neon " ))
(phpstan-level . 7 ))))يرجى تثبيت حزمة phpstan/phpstan لكل بيئة مستخدم أو مشروع باستخدام الملحن.
إذا لم تكن على دراية بحل التبعيات ، يوصى بأوامر shell التالية.
$ composer global require phpstan/phpstanإشعار : تم إهمال phpstan/phpstan-shim. يرجى قراءة phpstan 0.12 صدر!.
إشعار : يتطلب phpstan.el phpstan ** 0.10+**. نوصي بشدة باستخدام أحدث phpstan.
يرجى تنزيل phpstan.phar من الإصدارات · phpstan/phpstan.
يتم التحكم بشكل رئيسي في متغيرات phpstan بواسطة متغيرات الدليل ( .dir-locals.el ).
في كثير من الأحيان (root. "path/to/file") يظهر في هذه المتغيرات. إنه نسبة إلى الدليل الأعلى للمشروع. بشكل عام ، يكون الدليل الذي يحتوي على واحد من ملف .projectile ، composer.json ، .git (أو الدليل) في المستوى الأعلى.
يرجى العلم أن الدليل الجذر لمشروع PHP قد لا يتطابق مع أي من Phpstan %rootDir% و/أو %currentWorkingDirectory% .
عادة ، يمكنك تعيين ما يلي .dir-locals.el .
(( nil . ((php-project-root . auto)
(phpstan-executable . docker)
(phpstan-working-dir . (root . " path/to/dir/ " ))
(phpstan-config-file . (root . " path/to/dir/phpstan-custom.neon " ))
(phpstan-level . max )))) إذا كان هناك ملف phpstan.neon في الدليل الجذر للمشروع ، فلن تحتاج إلى تعيين كل من phpstan-working-dir و phpstan-config-file .
توفر هذه الحزمة أوامر مريحة لاستخدام phpstan من EMACs.
phpstan-insert-dumptype إضافة PHPStandumpType(...); إلى رمز PHP الخاص بك وتحليله لجعل phpstan يعرض نوع التعبير.
(define-key-mode-map (kbd "cc ^") #'phpstan-insert-dumptype)
بشكل افتراضي ، إذا قمت بالضغط على Cu قبل استدعاء الأمر ، فسيتم إدراج PHPStandumpPhpDocType() .
تمت إضافة هذه الميزة في phpstan 1.12.7 وسوف تفريغ أنواع متوافقة مع علامات phpdoc @param و @return .
phpstan-insert-ignore أدخل علامة @phpstan-ignore لقمع أي أخطاء phpstan على السطر الحالي.
بشكل افتراضي ، يقوم بإدراج العلامة في السطر السابق ، ولكن إذا كان هناك بالفعل علامة في نهاية السطر الحالي أو على السطر السابق ، فسيتم إلحاق المعرفات هناك.
إذا لم يكن هناك علامة موجودة وتم الضغط على Cu قبل الأمر ، فسيتم إدراجها في نهاية السطر.
معظم المتغيرات المحددة في هذه الحزمة هي العازلة المحلية. إذا كنت ترغب في تعيينها لمشاريع متعددة ، فاستخدم SetQ-Default.
phpstan-working-dirدليل العمل في Phpstan.
"/path/to/phpstan.phar"(root . STRING)(root . "path/to/dir")nil(php-project-get-root-dir) كدليل عمل.phpstan-config-fileمسار لمشروع ملف تكوين محدد من phpstan.
phpstan .(root . STRING)phpstan من دليل جذر المشروع.phpstan.neon(.dist) في (phpstan-get-working-dir) .phpstan-level مستوى القاعدة من تحليل phpstan. يرجى الاطلاع على مستويات readme #Rule من phpstan. 0 هو أهم ويمكنك أيضًا استخدام max ككمال مستعار لأعلى مستوى. المستوى الافتراضي هو 0 .
phpstan-executable"/path/to/phpstan.phar"docker(root . STRING)(root . "script/phpstan")(STRING . (ARGUMENTS ...))("docker" "run" "--rm" "-v" "/path/to/project-dir/:/app" "your/docker-image")nilphpstan القابل للتنفيذ بواسطة تبعيات الملحن للمشروع أو الأمر القابل للتنفيذ في متغير بيئة PATH .phpstan-flycheck-auto-set-executableقم بتعيين flycheck phpstan-executable تلقائيًا عند عدم nil.
phpstan-memory-limitاستخدم خيار حد ذاكرة Phpstan عندما يكون غير مكيف.
"1G"nilphpstan-docker-image Docker Image URL أو Docker Hub اسم صورة أو NIL. الافتراضي باسم "ghcr.io/phpstan/phpstan" . انظر Docker - وثائق Phpstan و Github Container Registory - Package Phpstan.