以前只是启用了数据库缓存与对象缓存,没有启用页面缓存。不得不说 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,上面的都是现学现卖写粗来的 (つд⊂)

下次试着使用数据库实现吧 | ω・´) (也不知道要什么时候

除另有声明外,本博客文章均采用 知识共享(Creative Commons) 署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议 进行许可。