[英]How can I use php to populate a manifest.json file?
我有一个manifest.json文件,当放在我的wesite的根目录中时可以正确加载。 而不是它是一个静态文件,我想使用我的网站内的PHP变量来填充清单内的值。
我在规范中找不到任何关于此的信息,我不确定是否可能。
我已经尝试将清单的名称切换为manifest.php
并在其中使用了header('Content-Type: application/json')
。
在我的索引文件头部:
<script src="<?php echo $SITE_URL;?>/main.js"></script>
<script src="<?php echo $SITE_URL;?>/sw.js"></script>
<link rel="manifest" href="<?php echo $SITE_URL;?>/manifest.php">
在我的manifest.php里面:
<?php header('Content-Type: application/json');
echo "
{
\"name\": \"$SiteName\",
\"gcm_user_visible_only\": true,
\"short_name\": \"$Name\",
\"description\": \"$PageDescription.\",
\"start_url\": \"/index.php\",
\"display\": \"standalone\",
\"orientation\": \"portrait\",
\"background_color\": \"$darkblue\",
\"theme_color\": \"#f0f0f0\",
\"icons\": [{
\"src\": \"logo-load.png\",
\"sizes\": \"96x96 128x128 144x144\",
\"type\": \"image/png\"
},{
\"src\": \"logo-icon.png\",
\"sizes\": \"48x48 72x72\",
\"type\": \"image/png\"
}]
}
";
?>
变量$SiteName, $Name, $PageDescription, $darkblue, etc
都是在加载manifest.php之前在我的文档头中定义的。
我正在尝试的是什么?
我的主要问题是这些常数从何而来? 有时人们将它们设置在服务器主机级别并导入它们( 环境变量 )。 另一种选择(与你正在做的事情一样模糊)是解析一个INI文件 。
我会做类似以下的事情:
<?php
$siteName = 'foo';
$name = 'bar';
$pageDescription = 'baz';
$manifest = [
"name" => $siteName,
"gcm_user_visible_only" => true,
"short_name" => $name,
"description" => $pageDescription,
"start_url" => "/index.php",
"display" => "standalone",
"orientation" => "portrait",
"background_color" => $darkblue,
"theme_color" => "#f0f0f0",
"icons" => [
"src" => "logo-load.png",
"sizes"=> "96x96 128x128 144x144",
"type" => "image/png"
],
"src" => "logo-icon.png",
"sizes" => "48x48 72x72",
"type" => "image/png"
];
header('Content-Type: application/json');
echo json_encode($manifest);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.