简易通讯录下载-MVC(PHP)构架

简易通讯录,MVC构架,使用PHP写的。该通讯录是学习MVC和PHP的好助手。
通讯录基本功能:添加、查看、修改、删除等
特色功能:可以自主选择是客户端JS排序,或是使用SQL语句排序输出!
==============================================

结合MVC设计:
M模块(好友user) V视图 C控制(添加 查看 修改)
SQL
一个库test,表contacts
程序结构
分模块M,通过控制C,调用V
模块基于base.class.php扩展
lib库包括db.class.php
V使用smarty处理
决定使用juery处理分页和排序
原本结构:
一个模块对应一个控制逻辑层(所有的逻辑动作都在相应的定义逻辑层的类中),然后取该逻辑层的相应动作。
结构更改:
为方便各个逻辑的描述,后续的修改。分离模块对应的逻辑动作!一个逻辑一个文件!
PHP逻辑文档名$M_$A.PHP (大型可以用 小型没必要)
关于排序:个人感觉完全可以直接使用客户端排序
现分两个样式调用方式 一种直接采用客户端处理排序分页 一种使用数据库查询调用
演示地址:http://www.ichaim.cn/contacts
下载地址:http://www.ichaim.cn/contacts/contacts.rar

PHP各编辑工具的选择(EditPlus/UltraEdit/EmEditor/SciTE..)

这几天又重新开始写PHP了。以前都是简单的用Dreamweaver。慢得要死,越写越烦躁。
现在改用editplus,自己手动配置了下,发现很是强大啊!
下面摘录了EditPlus/UltraEdit/EmEditor/SciTE/PSPad各类编程工具的区别和优缺点。
EditPlus与UltraEdit等工具比较

说真的、这几个编辑器我只用过editPlus,感觉功能很强大……对于其他的:比如 UltraEdit1、EmEditorPro、PSPad等我并不熟悉,但看过其简介,同时拿出来作个比较:

共同点:除了一般编辑器都有的功能外,都有语法加亮、正则表达式搜索替换(可能各有一点差别但基本够用)、通过某种方式配置编译器输出编译或运行结果(SciTE和PSPad做得最好)。

UltraEdit功能齐全,最突出的是它的列块处理功能,无人能及其项背,甚至有专门一项菜单处理列块操作。以前版本没有自动完成、代码块折叠、FTP浏览窗口,12.0以上版本增加了。

EditPlus个头不大,没有代码折叠,没有代码自动完成,不支持列块,但HTML方面做得很好,可以象Word那样拖动生成表格,插入ActiveX对象,其它编辑器暂未找到这个功能。EditPlus很早就支持FTP浏览窗口了。

EmEditor有代码折叠,但没有代码自动完成,最致命的是不支持FTP,好像通过插件可以支持,不过没试过。支持列块,但当然没UltraEdit的列块好用。暂未发现特别的亮点。

SciTE对编程语言的支持最好,是专为程序员订做的的编辑器。个头最小,几百K就搞定,代码的显示非常美观,支持代码折叠、自动完成。 UltraEdit会把PHP中的Heredoc识别为代码而不是字符串,显示或代码折叠时会有问题,而SciTE识别得非常好。还能根据编译输出结果跳到出错行,还有很多程序员需要的功能。通过配置文件进行配置非常灵活同时也很复杂,适合专业人士。不过要命的是不支持FTP,也不支持列块。

PSPad可能是最能与UltraEdit一较高下的了。除了没有代码折叠外各种功能一应俱全。独此一家的是有详细的代码树(显示出每个函数和变量出现的每一行)窗口。也能象SciTE一样根据编译输出结果跳到出错行。与UltraEdit相比最大差距在虽然支持列块,但功能远远不如。略感不足的是 HTML标记输入通过Clip(剪辑,预先定义热键与HTML标记的对应,或从列表中选择),没有EditPlus和UltraEdit直观,但更为通用。还有一些细节,如UltraEdit输入“{”后回车会自动缩进,PSPad不会,不过PSPad会自动生成一个对应的“}”,算是各有千秋。

另外,UltraEdit和PSPad支持二进制编辑,其它不行;EditPlus和SciTE可识别出PHP和Perl的Heredoc,其它不行。

但从个人来说:我比较喜欢用editplus,至少如它的优点所说的、html这方面好,而我又是一个网页设计+网络编程人员、呵呵!选editplus就不再奇怪了……
附送:editplus的自动完成功能配置。
上官方网站下载相关的.acp文件,载入到editplus里面,让其加载,编程的时候,只要打入相应的命令,editplus就会自动填充你要的代码块。其实.acp也可以自己写的。对于喜欢自己整理资料习惯的程序员来说,这样的功能是相当不错的。
举个实例,下面是HTML.acp摘录出来的
[code]
#T=#html







^!



[/code]
你只要打入html加个回车 就自动完成了下面的代码了!哈哈 很强大吧

UTF-8和GBK的区别 教你如何选择不同编码程序

区别
GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。

至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的网站则用UTF-8节省空间。

GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

有不少CMS用户对GBK与UTF-8版本有什么区别不太了解,在这给大家提供一些参考

GBK版本与UTF-8版本功能是一样的.只不过编码方式不同。

提示:如果您的网站客户群体主要是面向国内用户的,建议使用GBK版本,因为它可以节省空间,及相对utf-8版本来讲稳定一些。
对于DZ论坛来说,很多插件都只支持GBK的,如果需要装较多插件的论坛还是用GBK比较好,而对装较少插件且有特殊用户群的论坛用UTF8比较好。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准,UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

简单的说:
UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛
GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~

CSS代码也能使系统崩溃

很奇怪的一个现象,IE6/IE8/FF都能正常访问的页面,IE7却一打开就卡死。CPU达到100%。最开始只用IE7测试的时候打不开还以为中毒了。看了老半天没看到有毒,后来发现其他浏览器能正常访问,就可以排除网页被挂马的可能了。
唯一的可能是JS代码的死循环等等,或者JS冲突!可找了半天还是没发现。在不关联任何JS的时候,还是照样卡死。。。
郁闷了,删了半天锁定到了一个有ID的div上,一搜看了下 吓我一跳,CSS代码是

#ccc img { width: expression(250 / this.width * this.height > 170 ? 250 : this.width * 225 / this.height); max-width: 250px; min-width: 250px;}

一个乘除判断的算法让浏览器死掉了。虽然以前接触过CSS中的expression,可还没用到死机崩溃啊!
附expression可用来计算使图片垂直居中。
从这个问题也看到IE7的不健全,解析CSS上存在的容错机制太差了!
呵呵,这东西可以用来使坏哦。。