嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-05-31 8589 次浏览 标签 : PHPCMS

PHPCMS的文章的浏览次数统一通过页面里面的一段JS去请求浏览次数的API来完成计数统计,这样就算整个页面静态化之后,因为有JS去请求,所以还是能统计到.

<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script>

根目录下的api.php是所有api的总入口,根据传入的$_GET['op']的值不同,而去调用phpcms/api/目录下不同的api文件.因为统计次数传入的$_GET['op']='count',所以调用的就是phpcms/api/count.php,而这个文件也是一个纯过程化的代码,直接往phpcms的hits表里面写统计数据.

上面说的是统计入库,那么在文章页面如何调用该次数呢?

发现是通过

<span id="hits"></span>

来输出统计次数的.span中间没有类似与{$hits}这样的变量输出.实际也是刚刚的那段外链式的js文件,刚刚已经说过.上面的那段js通过api.php通过$_GET['op']包含了phpcms/api/count.php,发现count.php在最后面执行了一句jquery操作,就是把前面刚刚统计的浏览次数插入到了$("#htis")里里面.

<?php
//执行数据库浏览次+1的操作,然后得到最新的浏览次数$view
?>
$('#hits').html('<?php echo $views?>');

由于php标签之外就是html,所以可以随便写,而现在这个php文件却是一个js的方式引入的,所以在最末尾有写了一段js,而js里面的参数里又套了php.

有点意思. 

之前看ThinkSNS的js代码和css代码文件太多都是通过引用一个php来统一对所有的css代码和js代码分别压缩然后引入.只是自己一直没这么用. 

挺好,点赞哈!

今天早上起床想了下,类似的情况还有,比如上传图片,在上传完毕php那端echo一段js代码

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表