Cách tạo file composer.json trong php

Trình soạn thảo đọc tệp composer.json trong thư mục gốc của Magento để tải xuống các phụ thuộc của bên thứ ba được liệt kê trong tệp

Chúng tôi khuyên bạn nên đưa composer.json vào thư mục gốc của thành phần ngay cả khi bạn không có ý định phân phối nó cho những người bán khác bằng Magento

Magento không hỗ trợ kho lưu trữ path

Dưới đây là ví dụ về nhà soạn nhạc. tập tin json

Nội dung tệp cho nhà soạn nhạc. json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }

Vị trí nhị phân của nhà soạn nhạc

Magento sử dụng tệp nhị phân của trình soạn thảo trong thư mục /vendor/composer thay vì trình soạn thảo được cài đặt trên toàn cầu

Hãy ghi nhớ điều này trong khi tùy chỉnh, cập nhật hoặc khắc phục sự cố trình soạn nhạc khi làm việc với Magento 2

Dự án so với sản phẩm

Trong Composer, gói "dự án" là một mẫu được sử dụng bởi

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
0 để thiết lập cấu trúc dự án. Hướng dẫn cài đặt dành cho các nhà tích hợp hệ thống sử dụng gói dự án Mã nguồn mở Magento và Adobe Commerce để thiết lập cấu trúc thư mục Magento

Gói "sản phẩm" là ứng dụng thực tế được chỉ ra bởi tệp composer.json sau khi bạn tải xuống và cài đặt gói dự án bằng cách sử dụng

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
0

Mô tả của nhà soạn nhạc khác nhau. tập tin json

Các phiên bản sản phẩm và thành phần Magento sau đây sử dụng tệp composer.json

Gốc Magento

Địa điểm. composer.json

Tên.

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
1

Loại hình.

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
2

Đây là tệp composer.json chính của Magento khai báo các thành phần phụ thuộc và bên thứ ba

Các tệp composer.json gốc khác sử dụng tệp này làm mẫu


Dự án mã nguồn mở Magento

Địa điểm. composer.json

Tên.

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
6

Loại hình.

  {
    "name": "mycompany/sample-module-minimal",
    "description": "A module that creates a page in the Magento admin area",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
      "OSL-3.0",
      "AFL-3.0"
    ],
    "require": {
      "php": "~7.3.0||~7.4.0"
    },
    "autoload": {
      "files": [ "registration.php" ],
      "psr-4": {
        "MyCompany\\ExampleAdminNewPage\\": ""
      }
    }
  }
2

Các nhà tích hợp hệ thống Magento sử dụng tệp composer.json này để triển khai sản phẩm Nguồn mở Magento và các phần phụ thuộc của nó


Dự án thương mại Adobe

Địa điểm. composer.json

Tên. composer.json0

Loại hình. composer.json1

Các nhà tích hợp hệ thống Magento sử dụng tệp composer.json này để triển khai sản phẩm Adobe Commerce và các phần phụ thuộc của nó


Khung Magento

Địa điểm. composer.json3

Tên. composer.json4

Loại hình. composer.json5

Ứng dụng Magento sử dụng tệp composer.json này cho các gói khung của nó


mô-đun

Vị trí

  • composer.json7
  • composer.json8

Tên. composer.json9

Loại hình. composer.json0

Tệp composer.json cho phần mở rộng mô-đun khai báo các phụ thuộc bên ngoài mà nó cần để hoạt động


chủ đề

Vị trí

  • composer.json2
  • composer.json3

Tên. composer.json9

Loại hình. composer.json5

Tệp composer.json cho một thành phần chủ đề chứa các phụ thuộc chủ đề gốc mà tiện ích mở rộng cần kế thừa


Gói ngôn ngữ

Địa điểm. composer.json7

Tên. composer.json9

Loại hình. composer.json9

Đối với các gói ngôn ngữ, bạn phải sử dụng đúng mã ISO cho mã ngôn ngữ trong tệp composer.json


Các loại gói dành riêng cho Magento

Tiện ích mở rộng có thể là bất kỳ loại nào sau đây

  • composer.json0 cho các mô-đun
  • composer.json5 cho các chủ đề
  • composer.json9 cho các gói ngôn ngữ
  • path4 cho các tiện ích mở rộng chung không phù hợp với bất kỳ loại nào khác

Loại tiện ích mở rộng cho hệ thống biết nơi cài đặt các thư mục và tệp của từng tiện ích mở rộng trong cấu trúc thư mục Magento

quy ước đặt tên

Vì không gian tên của gói Trình soạn thảo là toàn cầu trong kho lưu trữ gói, e. g. người đóng gói. org, hãy sử dụng định dạng sau khi đặt tên cho gói của bạn

composer.json9

Sử dụng quy ước đặt tên Composer giúp phân biệt các gói từ các nhà cung cấp khác nhau với nguy cơ trùng lặp thấp

Tên nhà cung cấp

Tất cả các chữ cái trong tên nhà cung cấp phải ở dạng chữ thường. Ví dụ: định dạng tên nhà cung cấp cho các tiện ích mở rộng do Magento Inc phát hành là path6

Tiện ích mở rộng thị trường thương mại

Thị trường thương mại sử dụng path7 để đối sánh tiện ích mở rộng với nhà cung cấp trong quá trình gửi tiện ích mở rộng. Nếu bạn dự định gửi tiện ích mở rộng của mình tới Thị trường thương mại, bạn phải sử dụng Tên nhà cung cấp duy nhất được tạo hoặc chỉ định cho bạn khi bạn tạo tài khoản thị trường của mình

Trong tệp composer.json, hãy sử dụng giá trị của 'Tên nhà cung cấp' trong hồ sơ của bạn cho phần path7 của tên mở rộng

Vui lòng xem Tài liệu Thị trường để biết thêm thông tin về tên nhà cung cấp duy nhất của bạn

tên gói hàng

Tất cả các chữ cái trong /vendor/composer0 phải viết thường

Nếu tên chứa nhiều hơn một từ, thông số kỹ thuật của Composer khuyên bạn nên tách chúng bằng dấu gạch ngang

Quy ước cho tên gói Magento như sau

/vendor/composer1

Ở đâu

/vendor/composer2 là bất kỳ loại tiện ích mở rộng nào

  • /vendor/composer3 cho phần mở rộng mô-đun
  • /vendor/composer4 cho tiện ích mở rộng chủ đề
  • /vendor/composer5 cho phần mở rộng ngôn ngữ
  • /vendor/composer6 cho các siêu dữ liệu như Mã nguồn mở Magento hoặc Adobe Commerce

/vendor/composer7 là mã định danh duy nhất cho các tiện ích mở rộng thuộc loại đó

lập phiên bản

Các thành phần có các loại phiên bản sau

  • Bản thị;

    Phiên bản ban đầu của bạn có thể là 1. 0. 0 hoặc 2. 0. 0 chẳng hạn. Bạn nên tuân theo nguyên tắc chính sách tạo phiên bản của chúng tôi khi cài đặt phiên bản của mình

  • Phiên bản sáng tác;

Sử dụng mã Magento làm ví dụ, tiếp thị Mã nguồn mở Magento phiên bản 2. 0. 0 bao gồm các phiên bản thành phần như 100. 0. 1, 100. 0. 2, v.v. Chiến lược tạo phiên bản này ngăn xung đột giữa phiên bản tiếp thị và phiên bản thành phần

Nhà soạn nhạc json được tạo ở đâu?

Để tạo một nhà soạn nhạc. json thông qua thiết bị đầu cuối, chúng tôi sử dụng lệnh khởi tạo trình soạn thảo . nhà soạn nhạc. json đã được tạo, bây giờ hãy mở trình soạn thảo của bạn.

Chúng ta có thể sử dụng trình soạn thảo trong PHP không?

Trình soạn thảo được sử dụng trong tất cả các khung công tác PHP hiện đại (Symfony, Laravel) và là một trong những công cụ được đề xuất nhiều nhất để giải quyết các vấn đề cơ bản trong phần lớn các dự án web. Bài viết này sẽ hướng dẫn bạn cách sử dụng trình soạn nhạc cơ bản và cách sử dụng nâng cao cho môi trường nhóm.

Sự khác biệt giữa nhà soạn nhạc json và gói json là gì?

Chúng là các tệp khác nhau. nhà soạn nhạc. json dành cho Composer, trình quản lý gói cho PHP, trong khi gói. json dành cho NPM hoặc Sợi, chủ yếu được sử dụng cùng với Nút .