Tập tin tự động tải Composer là gì?

nghệ nhân PHP. Artisan là giao diện người dùng dòng lệnh có thể hỗ trợ bạn trong khi xây dựng ứng dụng của mình. Lệnh nghệ nhân PHP thực hiện nhiều tác vụ trong thời gian ngắn hơn và hiệu quả hơn. Nó có thể được sử dụng để tạo mô hình, tạo bộ đệm, tạo bộ điều khiển và cũng có thể được sử dụng để tạo các gói Laravel và thêm dữ liệu giả. Phục vụ nghệ nhân PHP. Lệnh này có thể được sử dụng để chạy ứng dụng của bạn. Nó cũng được sử dụng cho mục đích phát triển và thử nghiệm

  • Theo mặc định, nó lấy tên máy chủ làm máy chủ cục bộ
php artisan serve
  • Nếu bạn muốn thay đổi tên máy cũng như số cổng, bạn có thể sử dụng lệnh sau
php artisan serve --host=hostname.app --port=8080

Cách sử dụng lệnh PHP artisan. Điều quan trọng bạn cần biết khi sử dụng Laravel là không thể chạy dự án của bạn thông qua localhost, nó chỉ có thể chạy thông qua chính lệnh phục vụ nghệ nhân php

  • Tạo mô hình. Lệnh này sẽ tạo tên người dùng mô hình. php vào thư mục Mô hình có sẵn hoặc nếu thư mục không tồn tại, nó sẽ tạo một thư mục. Bạn có thể tìm thấy mô hình trong ứng dụng vị trí này/Mô hình/tên mô hình. php
php artisan make:model
  • Xóa bộ nhớ cache. Khi nhiều người dùng đăng ký trang web của bạn, điều đó có thể khiến hệ thống xác thực bị lỗi, bộ đệm trong laravel có thể bị xóa bằng cách sử dụng các lệnh này. Bạn cũng có thể xóa tất cả các tệp bộ đệm và tệp phiên khỏi bộ nhớ theo cách thủ công
    • Để xóa bộ nhớ cache của ứng dụng
php artisan cache:clear
  • Để xóa tệp bộ đệm cấu hình
php artisan config:clear
  • Để xóa tất cả các tệp xem đã biên dịch
php artisan view:clear 
  • Tạo bộ điều khiển. Lệnh sau được sử dụng để tạo bộ điều khiển. Tạo TestController bên trong thư mục Controller
php artisan make:controller TestController

PHP artisan dump-autoload. Lệnh php artisan dump-autoload gọi Trình soạn thảo với cờ tối ưu hóa. Nó sẽ biên dịch lại vô số tệp tạo bootstrap/biên dịch khổng lồ. php Trình soạn thảo PHP Trình soạn thảo là trình quản lý gói cấp ứng dụng cho ngôn ngữ lập trình PHP. Trình soạn thảo là một công cụ để quản lý các phụ thuộc trong PHP. Có một số lệnh mà bạn cần biết trước khi sử dụng công cụ soạn nhạc

  • nhà soạn nhạc. json. Để bắt đầu sử dụng trình soạn nhạc, tất cả những gì bạn cần là một trình soạn nhạc. tập tin json. Tệp này bao gồm tất cả các phụ thuộc của dự án đã tạo của bạn và cả siêu dữ liệu. nhà soạn nhạc. json

php




"autoload":{

    

php artisan serve --host=hostname.app --port=8080
0

    

php artisan serve --host=hostname.app --port=8080
2

php artisan serve --host=hostname.app --port=8080
3

  • cài đặt nhà soạn nhạc. Lệnh cài đặt của nhà soạn nhạc có thể được sử dụng để thêm vào các phụ thuộc. Lệnh này sẽ không cập nhật bất cứ điều gì. Bạn cần thêm thủ công vào trình soạn nhạc. json trong khi nếu nhà soạn nhạc. lock đã tồn tại cài đặt chính xác những gì được chỉ định trên tệp này nếu không hãy đọc trình soạn thảo. json để làm cho nó dễ dàng hơn
  • Cập nhật nhà soạn nhạc. Lệnh cập nhật của nhà soạn nhạc có thể được sử dụng để cài đặt cũng như cập nhật các phụ thuộc. Lệnh này có thể được sử dụng để thêm hoặc xóa các phụ thuộc nhưng trước tiên, hãy thêm thủ công vào trình soạn thảo. tập tin json
  • nhà soạn nhạc loại bỏ. Lệnh này có thể được sử dụng để loại bỏ các phụ thuộc không sử dụng. Bạn có thể gỡ cài đặt các phụ thuộc như vậy bằng lệnh bên dưới
composer remove packageauthor/packagename
  • Composer kết xuất-tự động tải. Trình soạn thảo dump-autoload sẽ không tải xuống bất kỳ thứ gì mới, tất cả những gì nó làm là tìm kiếm tất cả các lớp và tệp mà nó cần đưa vào lại

Sự khác biệt giữa “PHP artisan dump-autoload” và “PHP composer dump-autoload”. Bây giờ chúng ta hãy xem qua để hiểu sự khác biệt giữa các lệnh dump-autoload của nhà soạn nhạc và PHP artisan dump-autoload

Composer là công cụ quản lý phụ thuộc của PHP. Trình soạn thảo cho phép bạn chỉ định các thư viện cần thiết cho một dự án và sẽ tự động bao gồm các thư viện đó cùng với các phụ thuộc của chúng. Composer cũng cho phép bạn tạo các gói của riêng mình và chia sẻ chúng qua trang web Packagist. Ngay cả khi làm việc trên các dự án mà bạn không sử dụng các phụ thuộc bên ngoài, việc sử dụng trình tải tự động Trình soạn thảo có thể mang lại lợi ích không chỉ vì sự thuận tiện mà còn giúp dự án của bạn được chuẩn hóa

Cài đặt

Trình soạn thảo được tải xuống dưới dạng tệp PHAR thực thi. Tải về

curl -sS //getcomposer.org/installer | php

Tôi muốn di chuyển tệp đến PATH của người dùng theo cách mà tôi có thể truy cập từ mọi nơi

mv composer.phar /usr/bin/composer
composer --version

Tất cả các phụ thuộc của dự án của bạn được xác định trong một trình soạn thảo. tập tin json. Ở mức tối thiểu, bạn chỉ có thể xác định một tệp trống

{

}

Để cài đặt phụ thuộc của bạn chạy

composer install

Ngay cả khi không có bất kỳ phần phụ thuộc nào được xác định trong tệp JSON, một thư mục nhà cung cấp vẫn được tạo, đây là nơi lưu trữ tất cả các phần phụ thuộc dự án của bạn, cũng như chức năng trình tải tự động của Trình soạn thảo

Tự động tải tệp dự án

Tính năng tự động tải của trình soạn nhạc cung cấp nhiều tính năng khác nhau, mặc dù bạn nên sử dụng tính năng tự động tải của PSR 4, đây là cách triển khai mặc định

Để sử dụng tính năng tự động tải PSR 4, bạn chỉ cần tuân theo một quy ước không gian tên cụ thể. Nói chung, bạn sẽ tạo một thư mục src/ trong thư mục gốc của mình, nằm cùng cấp độ với nhà cung cấp/ và thêm các dự án của bạn vào đó. Ví dụ: nếu bạn có dự án Phương tiện, bạn sẽ tạo cấu trúc thư mục src/Vehicle và đặt các lớp của bạn vào đó. src/Xe/Ô tô. php, v.v. Trong tệp PHP của bạn, bạn sẽ sử dụng. không gian tên Phương tiện;. Khi bạn tạo cấu trúc thư mục sâu hơn, bạn chỉ cần sao chép không gian tên thành cấu trúc thư mục. Các tệp sau sẽ có các không gian tên này

src/Vehicle/Road/Car.php			namespace Vehicle\Road;
src/Vehicle/Air/Wings/Airplane.php		namespace Vehicle\Air\Wings;
src/Book/History/UnitedStates.php		namespace Book\History;

Để tự động tải Trình soạn thảo có thể tìm thấy các lớp của bạn, bạn cần xác định thư mục src cho các dự án của mình. Bạn có thể làm điều này bằng cách cập nhật trình soạn nhạc. json và chạy bản cập nhật

{
    "autoload": {
        "psr-4": {
            "Vehicle\\": "src/Vehicle/",
	    "Book\\": "src/Book/"
        }
    }
}
composer update

Bây giờ khi bạn cần sử dụng dự án của mình, chỉ cần bao gồm tự động tải. php và nhập các không gian tên bạn muốn sử dụng

require_once __DIR__ . '/vendor/autoload.php';

use \Vehicle\Road;
new Road\Car[];

Bạn có thể thấy đăng ký không gian tên trong nhà cung cấp/nhà soạn nhạc/autoload_psr4. php. Đây là nơi không gian tên thực sự được liên kết với cấu trúc thư mục. Lưu ý rằng tên thư mục của bạn phân biệt chữ hoa chữ thường và thường thư mục đầu tiên bên dưới src/ sẽ là chữ thường và các thư mục sau viết hoa lạc đà. src/dự án/Xe/Đường. Ngoài ra, tùy thuộc vào dự án của bạn, bạn có thể không muốn có một mục nhập trình tải tự động khác cho mỗi thư mục dự án

Đây chỉ là một ví dụ về cách thiết lập dự án thông thường và bạn nên lưu ý rằng có các tiêu chuẩn tải tự động khác nhau, cũng như rất nhiều vấn đề về cách bạn thiết lập dự án của mình

Tự động tải tập tin nhà cung cấp

Quá trình tự động tải cho các tệp của nhà cung cấp hoạt động khá giống với quá trình tự động tải cho các tệp dự án của riêng bạn. Nếu bạn có một dự án với các phần phụ thuộc, trước tiên hãy thêm chúng vào trình soạn thảo. json, sau đó chạy cài đặt [hoặc cập nhật]

{
    "require": {
        "guzzlehttp/guzzle": "4.*",
        "monolog/monolog": "1.*"
    },
    "autoload": {
        "psr-4": {
            "Project\\": "src/Project/"
        }
    }
}

Bây giờ nhìn vào autoload_psr4. php, bạn có thể thấy các không gian tên mới và các thư mục mà chúng được ánh xạ tới. Vì vậy, để sử dụng Guzzle Client, chỉ cần

require_once __DIR__ . '/vendor/autoload.php
$Client = new GuzzleHttp\Client[];

Mà chúng ta thấy được ánh xạ tới. nhà cung cấp/guzzlehttp/guzzle/src

Tôi sẽ đi vào chi tiết hơn khi thảo luận về việc tạo các gói của riêng bạn, nhưng tại thời điểm này, bạn sẽ cảm thấy đủ tự tin để sử dụng không gian tên của nhà cung cấp cùng với tính năng tự động tải của Trình soạn thảo

Hiệu suất

Một điều đáng chú ý là đối với các dự án lớn, chi phí sử dụng trình tải tự động Trình soạn thảo có thể trở nên đáng chú ý. Điều này một phần là do chi phí phát sinh với rất nhiều lệnh gọi file_exists[]. Một cách để giải quyết vấn đề này là chuyển đổi trình tải tự động sang sử dụng bản đồ lớp bằng lệnh

mv composer.phar /usr/bin/composer
composer --version
0

Điều này sẽ tạo bản đồ của tất cả các không gian tên tới các tệp tương ứng của chúng. Nhược điểm của phương pháp này là mỗi khi các lớp mới được giới thiệu, bản đồ lớp sẽ cần phải được tạo lại, cũng như bất kỳ lúc nào các lệnh cài đặt/cập nhật của trình soạn thảo được chạy. Một cân nhắc khác, nếu bạn đang sử dụng opcache của Zend, là sử dụng chỉ thị opcache. enable_file_override cũng có thể giúp giảm thiểu một số chi phí

Phần kết luận

Composer là một công cụ cực kỳ hữu ích trong việc quản lý phụ thuộc, cũng như cung cấp chức năng tự động tải chuẩn hóa. Trình soạn thảo cung cấp nhiều chức năng hơn và nhanh chóng trở thành một tiêu chuẩn công nghiệp để quản lý phụ thuộc PHP

Việc sử dụng tự động tải kết xuất của nhà soạn nhạc là gì?

Đây là plugin đơn giản để kích hoạt trình soạn thảo tạo tệp tự động tải mới khi bạn di chuyển, tạo hoặc xóa tệp PHP trong dự án của mình . Cũng bao gồm thực thi đã gỡ lỗi, v.v. để giữ cho mọi thứ chạy trơn tru.

Autoload PHP được sử dụng để làm gì?

Bằng cách đăng ký trình tải tự động, PHP có cơ hội cuối cùng để tải lớp hoặc giao diện trước khi lỗi xảy ra . Bất kỳ cấu trúc giống lớp nào cũng có thể được tự động tải theo cùng một cách. Điều đó bao gồm các lớp, giao diện, đặc điểm và liệt kê. Trước PHP 8. 0.

Việc sử dụng autoload trong laravel là gì?

Tự động tải cho phép bạn tải các tệp lớp khi cần mà không cần tải hoặc bao gồm chúng một cách rõ ràng . Điều này giúp bạn dễ dàng chạy ứng dụng của mình bằng cách tự động tải các tệp cần thiết mọi lúc. Laravel được xây dựng để hoạt động với Composer.

Nhà cung cấp tự động tải là gì?

Tích hợp Thư viện vào Dự án PHP với Composer . tệp php được tạo tự động. Tệp này được sử dụng để tự động tải thư viện cho dự án PHP .

Chủ Đề