亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Symfony 配置中定義一些 PHP 常量?

如何在 Symfony 配置中定義一些 PHP 常量?

PHP
慕俠2389804 2023-05-26 14:18:30
這是我的第一篇文章,所以我會盡量說清楚所以我需要在 Symfony 配置中定義一些常量(我猜是在 .yaml 文件中)我知道我可以定義它們 throwpublic const MY_CONST但這不是我想要的。我想這就是我需要的(第二部分,我沒有使用抽象控制器,因為我不在控制器中)https://symfony.com/doc/current/configuration.html#accessing-configuration-parameters但我就是無法讓它工作。任何人都可以通過給我一個例子或其他方式來幫助我嗎?多謝你們。
查看完整描述

1 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

您描述的參數可以在定義為例如的配置中使用;


parameters:

    the_answer: 42

然后,您可以在進一步的配置中使用這些值(例如,請參見下文)?;蛘撸绻朐诳刂破髦刑幚磉@些值,您可以(不再推薦)使用$this->getParameter('the_answer')來獲取值。


綁定參數(推薦):

這種方法將綁定值,然后您可以通過引用參數在控制器函數/服務中獲?。ㄗ詣由衿娴刈⑷耄┻@些值。


這些值的范圍可以從簡單的標量值到服務、.env 變量、php 常量以及配置可以解析的所有其他內容。


# config/services.yaml

services:

    _defaults:

        bind:

            string $helloWorld: 'Hello world!'  # simple string

            int $theAnswer: '%the_answer%'      # reference an already defined parameter.

            string $apiKey: '%env(REMOTE_API)%' # env variable.

然后當我們做類似的事情時,這些會被注入到服務/控制器函數中:


public function hello(string $apiKey, int $theAnswer, string $helloWorld) {

    // do things with $apiKey, $theAnswer and $helloWorld

}

可以在 symfony 文檔中找到更多詳細信息和示例https://symfony.com/doc/current/service_container.html#binding-arguments-by-name-or-type


注入服務(替代)

您也可以使用 arguments 將其直接注入到定義的服務中。


# config/services.yaml

services:

    # explicitly configure the service

    App\Updates\SiteUpdateManager:

        arguments:

            $adminEmail: '[email protected]'


查看完整回答
反對 回復 2023-05-26
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號