Cách cập nhật tệp env trong Laravel

Envy là một gói của Worksome được thiết kế để loại bỏ sự khó khăn khi đồng bộ hóa các tệp môi trường với dự án Laravel của bạn. Hãy cùng kiểm tra nào

Tất cả chúng ta đã ở đó. Bạn đang có một nhà phát triển mới và chạy dự án Laravel của bạn, và vì lý do nào đó, nó không có gì khác ngoài 500 lỗi. Nó hoạt động trên máy của bạn. Chuyện quái quỷ gì đang xảy ra?

giờ trôi qua. gắn kết nhầm lẫn. Lẩm bẩm xảy ra sau đó

Rồi đột nhiên, bạn facepalm. Có một mục bị thiếu trong tệp .env của họ. Hãy xem, thường xuyên hơn không, chúng tôi quên cập nhật tệp

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

0 của mình vì nó không còn có bất kỳ tác động có ý nghĩa nào đối với chu kỳ phát triển của chúng tôi. Chỉ khi điều này xảy ra, bạn mới thề rằng mình sẽ cập nhật nó. Có lẽ bạn làm, có lẽ bạn không. Nhưng ngay cả khi bạn làm như vậy, rất có thể nó sẽ lại lỗi thời

Tại Worksome, chúng tôi cảm thấy mệt mỏi với chu kỳ đau đớn bất tận này. Vì vậy, chúng tôi quyết định làm một cái gì đó về nó. Gặp gỡ Envy, gói Laravel sẽ đảm bảo bạn không bao giờ bỏ lỡ một biến môi trường nào nữa

Làm thế nào nó hoạt động?

Envy không phải là sự đồng bộ hóa giữa tệp .env

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

0 của bạn. Thấy không, có rất nhiều cạm bẫy. Đối với người mới bắt đầu, bạn hầu như không bao giờ muốn thực sự sao chép các giá trị môi trường từ .env của mình, vì chúng có xu hướng chứa thông tin nhạy cảm không nên có trong kiểm soát phiên bản. Ngoài ra, nếu bạn không còn cần biến môi trường trong dự án của mình vì bạn xóa tệp cấu hình hoặc xóa gói, thì việc đồng bộ hóa đơn giản giữa hai tệp này sẽ không giúp xóa các biến hiện đã lỗi thời đó

Ghen tị thông minh hơn nhiều. Nó đọc tất cả các tệp cấu hình của dự án của bạn [hoặc bất kỳ tệp nào khác mà bạn đã định cấu hình] và tìm các lệnh gọi đến hàm

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

4. Sau đó, nó so sánh các cuộc gọi đó với nội dung bên trong tệp

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

0 của bạn. Với kiến ​​thức đó, nó có thể đề xuất các bổ sung hoặc loại bỏ cho bạn, để việc đồng bộ hóa tệp môi trường của bạn với dự án của bạn chỉ là một lệnh của Artisan

Envy có hai lệnh Artisan.

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

6 và

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

0. Đồng bộ hóa được thiết kế để chèn các biến môi trường bị thiếu vào tệp

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

0 của bạn. Prune được thiết kế để loại bỏ các biến môi trường không còn cần thiết

Đừng lo lắng, cả hai lệnh này sẽ không thực hiện thay đổi mà không cần xác nhận [trừ khi bạn vượt qua tùy chọn

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

2]

Chạy trong CI

Tất nhiên, bạn vẫn phải chạy các lệnh này để đồng bộ hóa mọi thứ, điều mà bạn có thể quên thực hiện. Để đảm bảo bạn không bao giờ bỏ lỡ điều này nữa, cả hai lệnh Artisan đều cung cấp tùy chọn

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

3 sẽ kiểm tra các bổ sung hoặc xóa cần thiết và trả về mã lỗi nếu tìm thấy

Hãy xem quy trình làm việc cơ bản của GitHub sẽ thực hiện việc kiểm tra này cho bạn

name: Check Environment Variables

uses: shivammathur/setup-php@v2

- name: Install Composer dependencies

run: composer install --prefer-dist --no-interaction

run: php artisan envy:sync --dry

run: php artisan envy:prune --dry

Công cụ khá đơn giản, hey?

Cấu hình

Envy có rất nhiều tùy chọn cấu hình, tất cả đều có thể được tùy chỉnh trong

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

5. Các tài liệu Envy có tài liệu mở rộng về tất cả các tùy chọn có sẵn cho bạn. Tuy nhiên, một điều tôi muốn chỉ ra là bạn có thể thêm các tệp môi trường bổ sung để kiểm tra. Vì vậy, nếu bạn có tệp

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

6 hoặc

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

7, bạn có thể thêm chúng vào hỗn hợp để đảm bảo chúng luôn được cập nhật

Một điều cần nhớ là Envy sẽ chỉ tìm kiếm các tệp trong thư mục

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

8 của bạn cho các cuộc gọi

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

4. Điều này là do bạn chỉ nên sử dụng hàm

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

4 trong tệp cấu hình của mình, vì sử dụng hàm này ở nơi khác sẽ ngăn bộ nhớ đệm cấu hình ứng dụng. Tuy nhiên, nếu bạn cần thêm các thư mục bổ sung để tìm kiếm, bạn có thể thêm chúng tại đây

* Here you should list any config files/directories that you want to be

* included when looking for calls to `env`. Directories are searched

* recursively. Feel free to include unpublished vendor configs too.

base_path['vendor/spatie/laravel-permission/config'],

ghi chú bên

Tôi muốn dành một chút thời gian để nói rằng tôi thích viết Envy đến mức nào. Tôi đã xây dựng nó bằng cách sử dụng mô hình hành động mà bạn có thể xem bài nói chuyện về Laracon của tôi tại đây. Nó sử dụng PHP AST để phân tích cú pháp và tạo các tệp PHP, điều này luôn mang tính giải trí. Nó cũng đánh dấu lần đầu tiên tôi sử dụng gói Termwind tuyệt vời cho các ứng dụng bảng điều khiển kiểu dáng - bạn chắc chắn nên kiểm tra nó. Viết HTML cho bảng điều khiển đẹp hơn rất nhiều và cảm thấy quen thuộc ngay lập tức

Chúng tôi đã đánh bóng rất nhiều vào cái này và chúng tôi hy vọng nó sẽ thành công

Phần kết luận

Envy chắc chắn sẽ giúp chúng tôi cập nhật mọi thứ và chúng tôi hy vọng nó cũng có thể giúp bạn trong các dự án của mình. Hãy đọc tài liệu, kiểm tra mã nguồn và nhớ thích dự án trên GitHub nếu nó giúp ích cho bạn

Làm cách nào để sử dụng tệp env trong Laravel?

Mặc định của Laravel. tệp env chứa một số giá trị cấu hình phổ biến có thể khác nhau tùy thuộc vào việc ứng dụng của bạn đang chạy cục bộ hay trên máy chủ web sản xuất. Sau đó, các giá trị này được lấy từ các tệp cấu hình Laravel khác nhau trong thư mục cấu hình bằng hàm env của Laravel .

Làm cách nào để thay đổi biến môi trường trong Laravel?

để tìm nạp các biến môi trường bằng cách sử dụng env[] . Phương thức env[] giúp bạn tìm nạp các giá trị được đặt cho các biến môi trường trong. tập tin env. Bạn có thể chuyển tên biến cho phương thức env[] và nó sẽ trả về cho bạn giá trị được đặt trong. tập tin env.

Cách thay đổi các biến trong. env một cách linh hoạt trong Laravel?

Một cách đơn giản để cập nhật. giá trị khóa env trong laravel là thêm đoạn mã dưới đây vào hàm điều khiển nơi bạn muốn thay đổi . giá trị env. $key = 'VARIABLE_NAME'; .

Ở đâu. env nằm trong Laravel?

Trong thư mục Laravel chính của bạn, bạn nên có. env chứa nhiều cài đặt khác nhau, một hàng – một cặp KEY=VALUE. Và sau đó, trong mã dự án Laravel của bạn, bạn có thể lấy các biến môi trường đó bằng hàm env['KEY']. Đừng nhầm lẫn nó với

Chủ Đề