ホームページ  >  記事  >  バックエンド開発  >  時間は環境変数なので、ENV を使用します。落ち着いて、落ち着いて、先に言っておきます

時間は環境変数なので、ENV を使用します。落ち着いて、落ち着いて、先に言っておきます

WBOY
WBOYオリジナル
2024-08-26 08:30:34562ブラウズ

私たちは常に急いでいて、できるだけ早く開発したいと考えており、古い習慣を採用して古いソフトウェアを構築してしまうことがよくあります。大いに改善できる項目は、環境 ということについて、もう少し理解してみましょう。


まず第一に、ここでは laravel の構成の概念に焦点を当てて説明したいと思います。リソースなどの残りの標準については気にしません。

1 - 知識を求めましょう!

少し前に、私のクレイジーなコード内ではこの ENV パスを実行できないと聞きました。うわー

したがって、その理由を理解することが目的です。そうすることで、エンジニアとしてより良い意思決定を行うことができるからです。

1.1 - 正しい方法または視点?

それでは、さあ、小さな未来のマスター、環境変数に値を入れて遊んでみましょう。それで、次のように呼びましょう。

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

最初のポイントに行きましょう。この構成を環境変数として配置するという素晴らしい決断です。この方法により、さまざまな環境 (運用、承認、環境がある場合は?) の管理がすべて簡単になり、さらに安全になります。リポジトリ (git/bitbucket) でそのようないたずらな

git Push を実行しても、公開されることはありません。あなたの水の秘密がインターネット上に漏洩することを想像できますか。なんと悲しいことでしょう。

Laravel でこの値を取得するには、

env() メソッドを使用するか、Illuminate の Support などの別のパッケージを使用することもできます (ミニオンを思い出しますが、なぜですか?)

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

env: Laravel ヘルパー ( Env::get を使用します)
Env::get: Support Illuminate パッケージの Env クラス

おお、準備は完了したのに、なぜファッションを発明し続ける必要があるのでしょうか?実のところ、これは良い考えではありません。その理由はすぐに説明しますので、お付き合いください。

別の解決策として、作成された
環境 の値を取得する構成ファイルについて言及できます。そのため、構成ファイルは一元化されており、真剣に考えてください。コードを読むのにはるかに優れています。

この特定の状況では、

services.php という既存の構成ファイルをすでに使用できますが、特定のコンテキスト用のファイルを作成することを妨げるものはありません。

パス

config/services.php

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

したがって、コード内で次のように呼び出します:

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes


2 - すばらしいですが、変数を取得するには、変数を直接フェッチするだけではなく、構成を使用する必要があるのはなぜですか?

いくつかの理由を示してみましょう:

2.1 - パフォーマンスの向上と IO 使用率の向上

次の状況を考えてください。本番環境に常にアクセスされ、大量の IO が実行されるファイルがありますか。これにより、マシン リソースが増加し、状況によってはシステムの速度が低下しますか? (信じてください、実際に問題を見つけるまで、自分の知識すべてが問われるようなことを経験することになるでしょう)

本番環境について話すときは、美しい設定ファイルをキャッシュすることをお勧めします。Laravel では、artisan を使用できます


php artisan config:cache
この美しいコマンドは、すべての構成ファイルとそれぞれの値を取得して単一の php ファイルにコンパイルし、パフォーマンスを向上させます。これは、IO 数が 1 に減少するためです

Curiosity: このコマンドを使用すると、この関数が無効になるため、env() は NULL を返し始めます。したがって、"Neida"env() が動作しなくなったら、それで終わりです。

Env() IO 操作を実行すると、コストが高く、時間がかかります。

環境が必要になるたびにこの操作を実行するのではなく、アプリケーションの開始時にこの操作を 1 回実行することをお勧めします。

2.2 - 可能な限り最善の方法での組織化と標準化

すべての設定を必要に応じて簡単に維持できます。必要な犬の名前を入力し、フォルダーを作成し、すべての配列を必要に応じて構造化することもできます。これにより、構造がよりきれいになります (適度に使用してください)
例:

このキーを見てください:

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

そして次のキーを見てください:

Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes

私の謙虚な意見では、1 番目の方がはるかに優れています。

さらに、コード内に「ランダムに」配置することなく、同様の構成を適切かつ一元的な場所に配置することができます。アプリケーションにとって完全に意味のある配列を構築するというこのアイデアがとても気に入っています。

また、新しい開発者向けのガイダンスは、新しい構成をどこでどのように作成するかを伝えることができるため、はるかに簡単です。

シンプルにして、周りと差をつけよう!

これまでありがとうございました。

出典:

Laravel 11 設定ドキュメント

以上が時間は環境変数なので、ENV を使用します。落ち着いて、落ち着いて、先に言っておきますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。