国内著名CMS:PHPCMS整站源码分析(四)

Gavin [PHP]

2008.11.15

四、phpcms的模版引擎
函数 template函数是在global.func.php 里面定义的。 在前面的phpcms 的首页 index.php 里就见到了。用法: include template() 用法很熟, 呵呵其实和 dz 的模板引擎一样的用法。 但DZ的模板引擎比 PHPCMS 的简单很多,因为没有用到模板的标签技术。 大家有空可以研究下DZ的模板引擎。这里不说。 好分析下上面这个 模板的主要函数吧。他的作用是返回编译好的模板文件路径。也就是把模板 X.html(模板文件) 用正则替换成 x.php(编译后的PHP文件).然后使用 include 函数。懂了吧! php的模板引擎都一个鸟样。 然后剩下的就是正则的东西了。


国内著名CMS:PHPCMS整站源码分析(三)

Gavin [PHP]

2008.11.15

三、index.php
现在开始讲 index.php 首页文件. 基本来说PHPCMS的加载到显示操作的整个流程都分析完了.大家看一遍后.还要整体的来看来分析.慢慢体会.把些好的思想和思路实现到自己以后的项目里.我相信大家都会变得很强的. 记得: 程序是死的,人是活的.有实现思路一切都好办了


国内著名CMS:PHPCMS整站源码分析(二)

Gavin [PHP]

2008.11.15

二、db_mysql.class.php
这个讲 phpcms 的数据库类 和 phpcms 的文本缓存的实现。
首先是数据库类,phpcms 的数据库 分mysql 和mssql 版本. MSSQL 版本的我就不说了. 他们主要的sql 语句不同点就在于我们分页常用到的 limit 语句.所以.在 mssql 数据库类驱动里.他做了个挺好的封装.让MYSQL 和MSSQL在SQL语句方面的差异性就很小了.可以说PHPCMS你可以随便转换数据库只要在代码中换下数据库类驱动就行.


国内著名CMS:PHPCMS整站源码分析(一)

Gavin [PHP]

2008.11.15

本文源自PHPChina上逆雪寒版主的大作,发表在PHPChina的BBS上,由于跟贴很多(也说明其受欢迎程度),难以跟踪查看。故将之转贴于次,并且跟踪更新,希望阅读效果会好一点。
废话少说,请看:
一、include/common.inc.php,程序启动的核心文件


上班人员必读:“五险一金”详解!

Gavin [工作生活]

2008.11.15

问:什么是五险一金?
答:“五险一金”讲的是五种保险,包括养老保险、医疗保险、失业保险、工伤保险和生育保险;“一金”指的是住房公积金。
其中养老保险、医疗保险和失业保险,这三种险是由企业和个人共同缴纳的保费,工伤保险和生育保险完全是由企业承担的。个人不需要缴纳。这里要注意的是“五险”是法定的,而“一金”不是法定的。


网站架构概述

Gavin [Web技术]

2008.11.15

一:硬架构
1:机房的选择:
    在选择机房的时候,根据网站用户的地域分布,可以选择网通或电信机房,但更多时候,可能双线机房才是合适的。越大的城市,机房价格越贵,从成本的角 度看可以在一些中小城市托管服务器,比如说北京的公司可以考虑把服务器托管在天津,廊坊等地,不是特别远,但是价格会便宜很多。
2:带宽的大小:


自写一个较通用的Ajax处理类

Gavin [Web技术]

2008.11.15

出于工作和学习的需要,参考《Ajax in Action》一书,自写了一个较通用的Ajax处理类:AjaxObject。通过创建一个AjaxObject实例,调用其方法:
sendRequest();
就可以实现对服务器的异步请求和响应,而且不受全局变量的限制。
其代码如下:


Struts框架下Ajax发送中文乱码问题的解决

Gavin [Web技术]

2008.11.15

在使用AJAX向服务器端发送中文数据时,出现乱码,折腾了很久,在网上也找了很多解决办法,比如全站UTF-8编码、请求头编码为中文、使用 javascript中的escape函数等等,但一一试过均无效。在绝望之际,找到了一篇和我的情况比较相近的文章(详见:http: //blog.csdn.net/wallimn/archive/2006/11/12/1380106.aspx),在详细参考这篇文章的做法之后终于把问题解决。
现在,把自己的解决方法写出来,以便有需要的朋友不要再像我那样走弯路。
环境:WinXP + Eclipse,JSP + Struts,页面用JavaScript结合Ajax控制,页面和服务器都使用UTF-8编码。


发布自己写的Lucene中文分析器–NGramAnalyzer

Gavin [搜索引擎/SEO]

2008.11.15

毕业设计期间,因需要自己写了一个基于Lucene的中文分析器NGramAnalyzer,它包括三个类,分别是:
NGramAnalyzer
NGramFilter
NGramTokenizer
该分析器基于ChineseAnalyzer而实现,但不同于ChineseAnalyzer和车东写的CJKAnalyzer, NGramAnalyzer不仅仅支持“切字”和“切二字词”,它可以支持任意长度词的切分。这点特性使得NGramAnalyzer特别适合做 NGram的中文分析。事实上,它也是我为了做NGram的中文分析而特意写的(因此,也把它的名字取为“NGram*”的形式)。这里特拿出来跟大家分享!希望对有兴趣的朋友有点点帮助,也希望大家能多给我意见,让我可以做更多的改进,^_^
这里,把这NGramAnalyzer的三个类贴出来。在每个类的编写过程中,我都做了很详细的注释,读者应该比较容易看明白。
下面是第一个类,也是最主要的一个类:NGramTokenizer。


全文检索引擎工具包Lucene源码分析--analysis包

Gavin [搜索引擎/SEO]

2008.11.15

我的毕业设计是基于全文检索引擎工具包Luncene的analysis包而实现的,期间查看了该包的源码并作了一些分析,现在贴出来以供参考。
注:这里分析的只是analysis包的一些基本类,而不是全部。
1、Token类: