Nasıl statik yapılandırma bilgilerini yükleyebilirsiniz

3 Cevap php

Benim kod, ben arka ucunda UI ve PHP için JavaScript kullanabilirsiniz. Ben de uygulama ayarlarını depolamak için PHP kullanmak ve bazen benim UI kodu bu bilgilere erişmek gerekiyor. Benim yapılandırma dosyası böyle bir şey (config.php) görünüyor:

$resolution_x = 1920;
$resolution_y = 1080;
etc...

Ben bu ayarlardan herhangi bir JavaScript oluşturmak erişmek için gereken zaman, ben sadece kullanım

<?php echo ... ?>

değerini doğrudan yerine, ama sadece çok sağlam olarak beni gelmedi.

Onlar farkında değilim, bunu yapmanın herhangi bir tehlike var mı? Bunu yapmanın iyi bir yolu var mı?

Teşekkür ederim,

3 Cevap

Bu sizin için ne arıyor?

<script type="text/javascript">
    var resolution_x = <?php echo $resultion_x; ?>;
</script>

JavaScript ile kendiniz çözünürlüğünü öğrenmek istiyorum ben, bu en sağlam yol olduğunu düşünüyorum.

Bu gibi daha gelişmiş yapabilirsiniz:

config.php

<?php
    $congig = array(
        'resolution_x' => 1024,
        'resolution_y' => 768
        );
?>

index.php

<?php
    include('config.php');
?>
<script type="text/javascript">
    var config = <?php echo json_encode($config); ?>;
    alert(config.resolution_x);
</script>

Belki de bu zaten ne yaptığını, ancak sizin javascript bir değişken echo yapılandırma değeri olabilir. IE: var Resolution_X = <?php echo $resolution_x; ?>;

Eğer bir çok seçenek eklemeniz gerekiyorsa tek değişkenlerin birini yineleyen sıkıcı alır. Zaten daha iyi bir çözüm olduğunu, bir dizi ve bir içerme kullanır önerdi vardı, ama bir dizi olarak yapılandırmayı getirir bir yöntem olan backend bir nesne yaratma olasılığı da var.

Daha sonra önceki çözümlerde olduğu gibi, ya da ek yükü doğuracaktır JS ek bir HTTP isteği ile bu yöntemi çağırarak ancak PHP ile HTML / view-dosyasında bu yöntemi çağırmak sonucu yankılanan tarafından JS yapılandırmasını alabilir , gerekirse, aynı zamanda JavaScript çoğu yapılandırma ihtiyacı yoksa yararlı olabilir tembel yükleme yapılandırma, tanıtmak:

PHP

class Configuration
{
    public static function getAll()
    {
        return file_get_contents('config.php');
    }
}

class ConfigController
{
    public function getConfigAction()
    {
        $config = Configuration::getAll();
        return json_encode($config);
    }
}

JS

function getConfig() {
    /* 
     * Send an HTTP request to the ConfigController's getConfigAction in your
     * favorite manner here.
     */
}

var config = getConfig(configUri);