Được rồi, bạn cũng giống như tôi. Máy tính của bạn không cài đặt gì cả, thậm chí là composer hay PHP ở chế độ CLI!
Khi bạn sử dụng PHP và có thể là Symfony (hoặc không), bạn cần sử dụng composer hàng ngày. Bạn sử dụng PhpStorm mỗi ngày và nghĩ rằng thật đáng tiếc nếu không tận dụng hết các tùy chọn của IDE của bạn, đặc biệt là mọi thứ liên quan đến composer và bảng điều khiển Symfony. Vậy bạn cấu hình PhpStorm như thế nào để chỉ định composer cho dự án của bạn nằm trong hình ảnh docker?
Đây là một ví dụ về docker-compose.yml Trong thực tế, bạn sẽ sử dụng cái của bạn với php/composer bên trong.
version: "3.8"
services:
apache_server:
image: 'devpartitech/php:7.4-apache'
ports:
- "80:80"
volumes:
- "./:/var/www/"
extra_hosts:
- host.docker.internal:host-gateway
Hãy biết rằng việc cài đặt composer trong hình ảnh của bạn rất đơn giản, bạn chỉ cần sao chép composer từ một hình ảnh đã được chuẩn bị sẵn 😊
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
Vậy bây giờ làm thế nào để chúng ta nói với PhpStorm rằng chúng ta muốn sử dụng /usr/local/bin/composer từ container của mình?
Đi đến File > Settings > PHP > Composer

Lúc này chưa làm gì cả. Vì vậy, bạn sẽ kiểm tra Synchronize ide Settings with composer.json và Remote Interpreter.

Ở phần “…” từ CLI Interpreter, bạn sẽ tạo một cấu hình mới.

Tất nhiên, chọn From Docker.

Bạn sẽ có nhiều tùy chọn để lựa chọn. Bạn có thể trực tiếp liên kết với một hình ảnh docker cụ thể. Cá nhân tôi, tôi chọn docker-compose của mình cho phép tôi chọn dịch vụ mà tôi muốn sử dụng. Docker-compose của tôi rất đơn giản. Nó chỉ có một dịch vụ và mọi thứ tôi cần đều có ở đó.

Về cấu hình, cá nhân tôi chọn sử dụng kết nối với dịch vụ hiện tại vì tôi sử dụng docker-compose. Nếu tôi đã sử dụng một container docker trực tiếp, tôi sẽ sử dụng tùy chọn “luôn khởi động một container mới”. Đừng quên nhấn vào nút refresh ở cuối General > PHP executable để xác nhận mọi thứ đều có mặt.

Cuối cùng, bạn sẽ thấy một banner nhỏ ở đầu khi bạn mở file composer.json của mình

Bạn sẽ truy cập vào các tùy chọn trực tiếp để install / update, show log cho phép bạn thấy những gì thực sự đang xảy ra trong container của bạn. Sau các lệnh của bạn, bạn có quyền truy cập vào các tùy chọn cho phép bạn khởi chạy thêm lệnh.

Bạn cũng có khả năng thực hiện các kịch bản của mình trực tiếp từ mũi tên xanh bên trái mã của bạn.

Bây giờ bước đầu tiên của chúng ta đã được cấu hình, hãy thêm composer và bảng điều khiển Symfony trực tiếp vào hệ thống “Run Anything” của PhpStorm; cửa sổ nổi tiếng mở ra khi bạn nhấn CTRL hai lần.
Mở cửa sổ cấu hình File > Settings, đi đến cấu hình của Tools > Command line Tool Support và nhấn vào dấu “+” nhỏ để thêm một cấu hình mới.
Một cửa sổ cấu hình nên xuất hiện. Nhấn vào dấu “+” nhỏ để tạo một cấu hình mới.

Bạn sẽ có một cửa sổ cấu hình nhỏ như thế này với vài lựa chọn, bao gồm composer và Symfony mà chúng ta sẽ cấu hình cả hai.

Hãy bắt đầu bằng cách cấu hình composer:

Một khi đã đăng ký, bạn sẽ nhận được một thông báo nhỏ cho biết đã tìm thấy một số lệnh. Đó là một dấu hiệu tốt 😺

Cá nhân tôi, tôi đã thay đổi bí danh thành composer, theo mặc định PhpStorm sẽ đặt “c”. Chúng tôi thực hiện lại thao tác nhưng lần này với Symfony.

Như thường lệ, chọn trình thông dịch của bạn. Tôi chọn container từ docker-compose của mình, và tôi chọn phiên bản Symfony mong muốn. Thành thật mà nói, nếu bạn không chọn 3.* 4.* thì có vấn đề nghiêm trọng 😺 Lưu ý rằng nếu bạn gặp khó khăn trong việc nâng cấp ứng dụng Symfony của mình lên phiên bản mới nhất, chúng tôi biết cách làm và sẽ rất vui lòng giúp bạn ^^


Lại một lần nữa, tôi thay đổi bí danh. Tôi thích đặt “console”. Đó là một thói quen 😺

Đó là tất cả! Chúng ta đã sẵn sàng để thử nghiệm mọi thứ. Nhấn CTRL hai lần. Cửa sổ “Run anything” sẽ mở ra.
Gõ console và bạn sẽ thấy tất cả các lệnh Symfony của mình xuất hiện. Và như thể nó là phép màu, chúng sẽ thực thi ngay lập tức trong container của bạn.
