dev, Mac, ubuntu

Composer?

Nếu bạn là một lập trình viên, hẳn bạn đã nghe đến từ khoá này.

Nó là một PHP package manager. Nó cho phép bạn quản lý các thư viện cần thiết cho ứng dụng.

Để cài đặt nó trên Mac, dùng

brew install composer

Tệp composer.json là tệp chứa các thư viện phụ thuộc của ứng dụng. Nó trông như sau:

{
        "require": {
                "facebook/php-sdk": "3.2.*",
        }
        "config": {
                "optimize-autoloader": true // nạp tự động
        }
 }

Đây là cách đúng để sử dụng composer

  1. Add composer.json with some dependencies
  2. Run composer install
  3. Add some more dependencies
  4. Run composer update as you’ve updated your dependencies

compposer install có một số tuỳ chọn như sau:

--prefer-source

--prefer-dist

--profile

--no-dev

--optimize-autoloader

--no-interaction

composer.lock là file quy định phiên bản mới nhất cho project. Nếu một người tải project của bạn về và chạy composer install, thì composer sẽ cài đặt phiên bản phụ thuộc theo version mới nhất được quy định trong composer.lock.

Và đây là cách mà composer thực hiện:

Có một lưu ý rằng, khi bạn thêm một lớp mới cho ứng dụng, bạn chạy có khả năng phát sinh ra lỗi, bạn có thể sử dụng

composer dump-autoload

Vì sao vậy?

Code-> other code tương ứng

Lúc bạn tạo một lớp mới, nó sẽ tạo một lớp tương ứng với lớp này và lưu vào cache. Ví dụ trong Laravel, lúc bạn tạo một post.php, thì framework sẽ tạo cho bạn tự động một cái post.php khác, và post.php này có đầy đủ các trường như trong cơ sở dữ liệu khai báo của bạn.

Bạn có thể cài đặt một project với lệnh

composer create-project <vendor>/<name> <path> <option:version>

composer create-project --prefer-dist laravel/laravel blog

Lệnh này tương ứng với việc git clone project về và cài đặt các gói phụ thuộc cho project.

Xem danh sách các nền tảng đang chạy của project bằng lệnh

composer show --platform

À nhân tiện, nếu bạn chưa hiểu platform là gì, thì tìm hiểu luôn nhé =) Nó khá thú vị đấy.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s