{filename}.html.twig
ごとに{filename}.html
を生成することが可能かどうかを知りたいですか? 1つの解決策は、ブラウザからソースコードをコピー&ペーストすることですが、これを行うより効率的な方法はありますか?twigファイルに相当するHTMLテンプレートを生成しますか?
ありがとうございます。
{filename}.html.twig
ごとに{filename}.html
を生成することが可能かどうかを知りたいですか? 1つの解決策は、ブラウザからソースコードをコピー&ペーストすることですが、これを行うより効率的な方法はありますか?twigファイルに相当するHTMLテンプレートを生成しますか?
ありがとうございます。
このような解決策は、あなたのニーズを満たすものと思っています。
curl www.yoururl.com > /path/to/yourfolder/file.html
あなたは
数ヶ月前。
ストーリーに興味を持って、私はyii2プロジェクトに取り組んでいたならば、物語下記をご覧。外部サービスからの応答のため、インデックスページは3秒でロードされていました。 Cloudflareや他のキャッシングシナリオは成功しませんでした - 私は最高で2.5秒を思いついた。
思考の2〜3日後、私は厄介な解決策を見つけました:) ホームページのキャッシュレスな新バージョンを作成し、そのページの内容を取得してindex.htmlに書き込む2分ごとにパブリック(yii2 web
)フォルダ内のファイルを開きます。
他のページはok - (< 0.2s)でしたので、何も書いていませんでした。
私がやったすべては、あなたが小枝の出力をキャッシュしたい
curl www.example.com > /path/to/web/index.html
あなたは、各レンダリングで自動的にこれらのファイルを作成したい場合は、その後、私はデフォルトはTwig_Environment
のrenderメソッドを上書きし、小枝
class MyTwigEnvironment extends \Twig_Environment {
public function render($name, array $context = array())
{
$html = $this->loadTemplate($name)->render($context, $site_id);
file_put_contents('path/to/cache/folder'.$name.'.twig', $html);
chmod('path/to/cache/folder'.$name.'.twig', 0664);
return $html;
}
}
$twig = new MyTwigEnvironment($loader, $options);
echo $twig->render('some_template.html');
を初期化するために、カスタムクラスのインスタンスを作成することをお勧め
よりも優れた言葉を使っています。 @DarkBee –
あなたは 'twig'をスタンドアローンか' symfony'、 'silex'、...と使っていますか? – DarkBee
でしたか? – DarkBee
はい、私は@DarkBee –