以前只是启用了数据库缓存与对象缓存,没有启用页面缓存。不得不说 PHP 执行效率真是够慢,网页加载时间几乎都是被 TTFB 拖慢了,最起码 3s+。不过最开始也没有太在意,而且之前窝是使用自己写的一个输出一言的插件,在页面侧边栏用 hitokoto_get();
输出的,但是这样的话就不能启用 page cache 了,因为 php 输出的页面内容会被缓存掉。这样的解决方法就是使用 javascript 输出一言。但是如果像以前那样把一言数组写在 js 里的话会很大,而且一点也不优雅(笑)。早就有了想调用 php 输出 js 的想法了,昨天终于克服了懒癌写了一下。虽然只是很简单的功能就是了。。
下面贴一下具体 php 实现(一言数组只截取了一部分):
<?php
function hitokoto() {
$sentences = "
我到底要用怎么样的速度生活才能与你再次相遇。——《秒速5厘米》
正因为生来什么都没有,因此我们能拥有一切。——《NO GAME NO LIFE》
谁控制过去就控制未来,谁控制现在就控制过去。——《一九八四》
就算只有六十亿分之一的机会,我们还是会邂逅。——《Angel Beats!》
我告诉你们,我是身经百战了,见得多啦!——《长者语录》
西方的哪一个国家我没有去过?——《长者语录》
所以说媒体呀还是要提高自己的知识水平,识得唔识得啊?——《长者语录》
你们啊,不要想喜欢弄个大新闻!——《长者语录》
温柔正确的人总是难以生存,因为这世界既不温柔,也不正确。——《やはり俺の青春ラブコメはまちがっている。》
努力是不会背叛自己的,虽然梦想会背叛。 努力不一定能实现梦想,但是曾经努力过的事实却足以安慰自己。——《やはり俺の青春ラブコメはまちがっている。》
被人责备并不是坏事哦。那是别人一直在关注你的证据。——《やはり俺の青春ラブコメはまちがっている。》 或许前路永夜,即便如此我也要前进,因为星光即使微弱也会为我照亮前途。 ——《四月は君の嘘》
看吧,星星只有在夜里才璀璨夺目啊。 ——《四月は君の嘘》
既然在和不在都一个样的话,那就永远在一起吧。 ——《四月は君の嘘》
男人只要去行动就好,行还是不行,是要由女孩子来告诉你的。 ——《四月は君の嘘》
前进吧,星星在你头上闪耀哦。 ——《四月は君の嘘》";
// explode string to array with \r\n
$sentences = explode( "\r\n", $sentences );
// And then randomly choose a line
return $sentences[ mt_rand( 0, count( $sentences ) - 1 ) ];
}
$chosen = hitokoto();
header('Content-Type:text/javascript;charset=utf-8');
echo "function hitokoto(){document.write('$chosen');}";
大概就是这样。随便在 html 中插入如下代码即可输出一言:
<script type="text/javascript" src="echo.php"></script>
<p id="hitokoto">
<script>hitokoto()</script>
</p>
下一步想要实现更方便的添加新条目的方法。。而且咱也不会 php,上面的都是现学现卖写粗来的 (つд⊂)
下次试着使用数据库实现吧 | ω・´) (也不知道要什么时候