December 2, 2009 by SLJ | Category:PHP | 1,296
PHP 模板引擎 广泛应用于分离模板和布局。
使用PHP模板引擎,可以让网站的维和更新容易,创造一个更加良好的开发环境,让开发和设计工作更容易结合在一起。
它肯定也有一些不足之外,比如性能 (大多数PHP模板引擎在这方面都还是做的比较好的) 和需要学习新的语法 (偶尔会这样).
说到这里, 使用一个 模板引擎 并不一定就适合每一个项目. 一个网站如果只有少许的页面,那很可能就不需要它。而如果是开发门户站、电子商务网站或其它Web应用程序,那使用它就可以改善开发进程。
这里是 19 个PHP 模板引擎, 它们都拥有友情的功能,并且在持续开发中。

smarty是PHP官方出的模板, 以前的官网地址是http://smarty.php.net/,因为太流行了吧,后启用了新域名http://www.smarty.net/。
Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角 色,因为在大多数情况下 ,他们不可能是同一个人。
Smarty的特点之一是”模板编译”。意思是Smarty读取模板文件然后用他们创建php脚本。这些脚本创建以后将被执行。因此并没有花费模板文件的语法解析,同时每个模板可以享受到诸如Zend加速器(http://www.zend.com) 或者PHP加速器(http://www.php-accelerator.co.uk)。这样的php编译器高速缓存解决方案。
October 7, 2009 by SLJ | Category:PHP, Web Structure | 919
一、开发成员
a)项目主管
b)页面美工
c)页面开发
d)服务端程序开发
e)系统与数据管理
f)测试与版本控制
二、 网站组开发简明流程
三、 开发工具与环境
a)服务器配置
i. WEB服务器: FreeBSD6.1+Apache2.0+PHP5.0,SVN版本控制服务(仅测试机)。
ii.数据库服务器: WIN2003 server+SQL server 2000+MySQL5.0,CLUSTERED SERVER 集群服务,邮件服务器。
iii. 100M/1000M交换机
b) 开发工具
i. 前台: Macromedia flash 8.0、Macromedia Dreamweaver 8.0、Adobe photoshop CS
ii. 后台: Zend Studio 5.2、SQL Server Enterprise Manager、PhpMyAdmin
More »
July 12, 2009 by SLJ | Category:Apache/Nginx, PHP | 1,041
转载请注明来源:关于 GZIP 在各种网站上的万能应用 (以WordPress举例) | 奇亚
每次更新WordPress是一个痛苦的过程,会把原先我对奇亚的优化全部覆盖掉。比如GZIP这一方面。趁这个机会我总结一下关于 GZIP 在各种网站上的万能应用
对于一些网速比较慢的服务器来说,在页面上启用GZIP对访问者的下载效率是有很大好处的。
下面是一个万能方法,无论你有没有PHP或者Apache的知识,照着做就对了。
CSS和JS方面
我们使用网络上一个流行的脚本Gzip.php来处理,按照代码,.htaccess将检查用户的请求,发现扩展名以js或者css结尾的,首先去找是否在其目录下有.js.gz文件,如果没有的话就运用gzip.php来生成它。(例,用户请求/js/jQuery.js,会先自动找/js/jQuery.js.gz,如果没有发现调用gzip.php来生成它)
这个脚本的好处在于,由于js和css一般不是动态的,所以通过一次性生成,而每次请求时不必再次压缩,提高了效率。
但要注意,若你的js文件或者css文件有更新的话,需要把其目录下已经生成的.js.gz和.css.gz删除,否则浏览者访问的仍然是旧版本的文件。
More »
July 7, 2009 by SLJ | Category:PHP | 2,586
1.8 Zend安装
与之前版本相比,新版将安装过程部分脚本化,主要是创建骨架过程。并且增加了一些配置文件使框架更加的可配置。
1. 下载
下载,并解压,将bin, library拷贝到想要的位置,一般是c:\Programe File\dirName下
2. 将bin的路径加到系统环境变量PATH中,执行zf show version测试,如果php.exe不能被发现,则查找其路径同样也加到PATH中即可
3. 到web server的root目录下,执行
zf create project zf-tutorial
创建zf-tutorial骨架,当然目录名任意
4. 拷贝library/Zend到zf-tutorial/library下
5. 设置apache
AllowOverride None -> AllowOverride All
6. 测试
地址:http://localhost/zf-tutorial/public, 你将看到一个蓝色界面,表示成功
7.一些文件简介
public/.htaccess
public/index.php
application/configs/application.ini
8.添加一个action
切换目录到zf-tutorial/
zf create action add index
9. 数据库
9.1 configuration
file: application/configs/application.ini
like this in [production]:
|
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = mysql
resources.db.params.dbname = zf-tutorial
|
More »
June 19, 2009 by SLJ | Category:PHP | 2,156
一,快速上手
1. 安装
从 Zend Framework 的网页上下载最新版本。解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend。
打开 php.ini 文件,确认包含 Zend 目录的路径在 include_path 里定义了。以上面的配置为例,php.ini 中应有类似下面的条目:
include_path = ".:/php/library"
注意:Windows 下的写法略有不同,应该类似于 include_path = ".;C:\php\library"
初始的安装就这么简单。Zend Framework 的一些组件会用到 php 的一些附加模块。具体的要求请参考这里。
More »
June 18, 2009 by SLJ | Category:Apache/Nginx, PHP | 2,769
PHP5.0之后增加了timezone的设定,默认为UTC,直接使用date会导致时间显示不正确。
可在使用date前加入
date_default_timezone_set(“Asia/Chongqing”);
或在php.ini中加入
date.timezone = “Asia/Chongqing”
或在时间戳上加上8小时
echo gmdate(‘Y-m-d H:m:s‘, time()+8*3600);
June 17, 2009 by SLJ | Category:PHP | 638
1.- DRY: Don’t repeat yourself.
DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。
More »
June 16, 2009 by SLJ | Category:PHP | 1,425
来源:
http://www.phpchina.com/bbs/thread-13409-1-1.html 这篇杂文翻译整理自网络各路文档资料(见最末的参考资料),尤其是 Ilia Alshanetsky (佩服之至) 在多个 PHP 会议上的演讲,主要是各类提高 PHP 性能的技巧。为求精准,很多部分都有详细的效率数据,以及对应的版本等等。偷懒,数据就不一一给出了,直接给结论,如果需要看原文档,请到文末「参考资料」部分。
橙色标题为推荐部分。
========================================================
静态调用的成员一定要定义成 static (PHP5 ONLY)
贴士:PHP 5 引入了静态成员的概念,作用和 PHP 4 的函数内部静态变量一致,但前者是作为类的成员来使用。静态变量和 Ruby 的类变量(class variable)差不多,所有类的实例共享同一个静态变量。
QUOTE:
// PHP CODE Highliting for CU by dZ902
<?php
class foo {
function bar() {
echo ‘foobar’;
}
}
More »
May 2, 2009 by SLJ | Category:Apache/Nginx, MySQL, PHP | 3,440
上了大学,在图书馆看了很多的书,各个方面从UI一直到PHP,自我感觉比较好的书不多,特别是UI方面的书,好的书很少。身边有的学习HTML的同学,我把他们借的书翻开目录一看就帮他们删章节,因为有的章节看了也没用,比如“如何用表格布局网页”,这已经是淘汰的技术了,只能稍微了解了解,不能养成习惯。
我认为,一本介绍计算机技术的书,应该以实用为主,全面为辅。例如,有些HTML书介绍标签介绍的非常全面(恰恰没有HTML5中的canvas这一类重要标签),然而我们平时的使用几乎用不到那些“全面的”标签(比如<font>之类被淘汰的标签等),而重要的部分如“不同浏览器的hack”这一基本的内容却没有介绍到。
其实好的书还是有的,我认为图灵以及人民邮电出版社的部分图书我最喜欢,
我会相继在我博客贴上我所看过的好书,敬请关注。
《PHP与MySQL程序设计(第3版)》
先说说这本书,PHP方面的基础类图书,我最喜欢的是这本,虽然厚了一点,但是说的非常全面,也很实用,特别是“高级OOP面向对象编程”以及后面的 Smarty、MVC的部分都很 up-to-date,我认为这本书作为PHP起步来说很值得读,后几章介绍数据库的内容也很好。
喜欢的同学可以去网上买,或者图书馆也能借得到(有一本目前还在我的^_^)
下面是转载来的图书信息。

【内容简介】
PHP语言和 MySQL 数据库这两种开源技术已经成为开发Web应用的最佳组合。Web 2.0为它们提供了更广阔的天地。
本书全面介绍PHP脚本语言和MySQL数据库这两种目前最流行的开源软件,主要内容包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、触发器和视图等。本书实用性强,帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何结合这些卓越的技术创建数据库驱动的动态Web应用程序。
本书适合于Web开发的新手阅读,也适合作为各层次PHP和MySQL开发人员的参考书。
More »
April 30, 2009 by SLJ | Category:PHP | 5,305
APC(Alternative PHP Cache)
APC是一种对PHP有效的开放源高速缓冲储存器工具,它能够缓存opcode的php中间码。APC是一种php的缓存解决方案,目前以pecl方式发布,有消息说将会出现在php6版本的内核.
一.安装方法
1)从http://pecl.php.net/package/apc下载相应版本
2)解压
3)进入源码目录
4)执行php安装目录下的bin/phpize
5)./configure –enable-apc –enable-apc-mmap –with-apxs=path-to-apache/bin/apxs –with-php-config=path-to-php/bin/php-config
6)make && make install
7)将生成的apc.so加载到php.ini(extesion=apc.so,注意extension_dir的设置)一般地,编译生成的.so会在php安装路径的lib/php/extensions下
8)重启,apache
写一个phpinfo看看
注:windows下,只要到http://snaps.php.net/的相应分支下下载php_apc.dll,再在php.ini中加载即可

More »
Recent Replies / 最新回复