ฉันจะตั้งค่าตัวแปรในไฟล์การตั้งค่าได้อย่างไรและใช้มันจากรหัส


21

ฉันจะตั้งค่าตัวแปรในไฟล์การตั้งค่าได้อย่างไรและใช้มันจากรหัส

คำตอบ:


27

ใน settings.php:

$conf['yoursite_something'] = 5;

จากนั้นในรหัสของคุณ:

// Second argument is the default.
variable_get('yoursite_something', NULL);

ตรวจสอบให้แน่ใจว่าได้นำหน้าตัวแปรไม่ว่าจะเป็นโมดูลที่คุณใช้อยู่หรือด้วยชื่อไซต์


5

โปรดทราบว่าไม่จำเป็นต้องประกาศตัวแปรถาวรใน settings.php คุณสามารถเรียก variable_get () จากรหัสของคุณและกำหนดค่าเริ่มต้นในกรณีที่ตัวแปรไม่ได้ถูกตั้งค่า ตัวอย่างเช่นรหัสต่อไปนี้จะกล่าวสวัสดีทุก ๆ หน้าตราบใดที่ตัวแปร 'mymodule_say_hello' ไม่ได้ถูกตั้งค่าไว้อย่างชัดเจน0:

<?php
function mymodule_init() {
  // Get the mymodule_say_hello variable or use 1 if it's not set. 
  if (variable_get('mymodule_say_hello', 1)) {
    drupal_set_message('Hello world');
  }
}
?>

ถ้ามีความจำเป็นโมดูลของคุณสามารถเผยแพร่รูปแบบที่ช่วยให้ผู้ดูแลระบบเพื่อเปิดคุณลักษณะนี้ (คนsystem_settings_formฟังก์ชั่นที่จะทำให้เรื่องง่าย) variable_set('mymodule_say_hello', 0)หรือคุณอาจจะเปลี่ยนการตั้งค่าโปรแกรมโดยการเรียก


1

Drupal 8

ใน settings.php ของคุณ:

$settings['foo'] = 'bar';

ในรหัสของคุณ:

use Drupal\Core\Site\Settings;

Settings::get('foo', 'mydefaultvalue');
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.