Chuyển đến nội dung chính

Magento 2 Code Standards Part 1: Setup Enviroments

Trong bài này mình sẽ trình bày về việc cấu hình PHP_CodeSniffer cho magento 2. Yêu cầu cơ bản là server cài PHP v5.4 trở lên. Cài đặt thành công composer
1- PHP_CodeSniffer là gì

2- Code Standards có lợi gì cho lập trình viên
Trong lập trình có rất nhiều chuẩn để lập trình viên làm theo để tạo được code có cấu trúc mạch lạc và khả năng maintance sau này. Trong PHP nói riêng cũng có kha khá chuẩn
PSR1234 blah ... Magento cũng có vài chuẩn , ở đây mình chỉ đề cập đến MQEP2 (Marketplace Extension Quality Program) Khi lập trình các extension cho marketplace của magento v2 thì phải theo chuẩn này

3- Cấu hình
Magento 2 đã nhúng sẵn bản 1.5.3 codesniffer của squizlabs vào cho lập trình viên. Nếu trên server chưa cài codesniffer thì có thể dùng ngay bản này
Đường dẫn nằm ở vendor/bin/phpcs

Tải về các rule để chạy (Các rule này kiểu như các convention được quy định sẵn để bắt lập trình viên làm theo) có suggest hoặc báo trên IDE
composer require magento/marketplace-eqp

After install successfully. Copy all folder in vendor/magento/marketplace-eqp AbstractSniffs MEQP1 MEQP2 Utils to vendor/squizlabs/php_codesniffer/CodeSniffer/Standards

Kiểm tra version phpcs --version

Kiểm tra lỗi Extension


vendor/bin/phpcs --config-set installed-paths yourAbsolutePathTo/squizlabs/php_codesniffer/CodeSniffer/Standards

vendor/bin/phpcs /full/absolute/path/to/your/extension --standard=MEQP2 --extensions=phtml,xml,css,js,php

Fix lỗi cho Extension

vendor/bin/phpcbf /full/path/to/your/extension --no-patch

Chi tiết test review code sẽ có ở part 2

Nhận xét

Bài đăng phổ biến từ blog này

Fix XML Validate of PhpStorm in magento 2

PhpStorm 9 with magento 2 dev-1.0.0beta Follow this steps Step1 Step2 Step3 Step4 Step5 Step6 Thanks for visit , share this post if you like

How to load Javascript scripts in Magento 2

All assets file relate in frontend will be store in view/web of module structure Require lib from requirejs-config.js file var config = { map: { "*":{ "lightbox": "VES_Sociallogin/js/lightbox/lightbox.min" //This related to file lightbox/lightbox.min.js } } }; Order to call light box js In any js files you can call to like this. You should use define instead of require in stituation define([ "jquery", "jquery/ui", "lightbox", 'Magento_Ui/js/modal/alert', 'uiComponent' ], function($, lightbox, alert, uiComponent){ "use strict"; $(window).ready(function(){ //console.log('hello magento2! File js edited'); DO ANY CODE YOU WANT HERE }); }); Execute js in template mangeto can be done with script tag script tag with type="text/x-magento-init" { "*":{ ...