代码改变世界

PHP模板引擎Smarty详解

2011-04-18 15:28 by 卫佳, 742 阅读, 0 推荐, 收藏, 编辑
摘要:PHPChina资讯:Smarty是由Monte Ohrt和Andrei Zmievski写出的PHP模板引擎。它不同于其他的模板引擎,比如FastTemplate或者patTemplate,其中主要原因就是Smarty会将模板转化成PHP脚本,并剔除每次使用该模板时都会出现在解析环节里的用来控制和错误检验的附加码。这个功能使Smarty在大型应用和高流量网站上有优异的表现。body brushSmarty除了模板编译还有很多其他的突出特性,我们会在后面详细的讨论。首先,我们来揭秘模板编译。“模板的编译”是什么意思?网页需要做什么样的编译?编译不是C++和Java也要做吗?是的,但是这里的编. 阅读全文

Php 生成静态html文件的三种方法

2011-04-16 15:31 by 卫佳, 442 阅读, 0 推荐, 收藏, 编辑
摘要:本文将介绍Php生成静态html文件的三种方法。1,下面使用模版的一个方法!<?php $fp = fopen ("templets.html","a"); if ($fp){ $fup = fread ($fp,filesize("templets.html")); $fp2 = fopen ("html.shtml","w"); if ($fwrite ($fp2,$fup)){ $fclose ($fp); $fcolse ($fp2); die ("写入模板成功" 阅读全文

不要那么心浮气躁

2011-04-16 15:30 by 卫佳, 243 阅读, 0 推荐, 收藏, 编辑
摘要:招聘一个程序员,唯一对你有意义的是他能写出好程序的能力。 很少人像这样去招人,他们更喜欢去挑剔程序员的个人癖好和性格缺点。 我一说出这样的话,人们大量的评论就会批评道:你错了,错了,完全的错了。 好的程序员需要具备沟通交流的技能,他们要有跟他人一起合作的能力。团队里不止你一个人! 事实上,人们会说:最好折中一下对技术上的要求,这样可以找出更能适应企业文化的人。 你不如这样说更合适:找不到那种技术上又好、又能适应企业文化的人,我就等着,一直找到为止。 我们很少有敢这样奢侈的公司,也许Google可以这样,就是Google这样的公司也一直处于一个“对招聘程序员感到绝望”的状态中。如果你决定去等,. 阅读全文

PHP6新特性

2011-04-16 15:30 by 卫佳, 331 阅读, 0 推荐, 收藏, 编辑
摘要:其实这个是很早的消息了,我也曾在论坛讨论过。 今年8月份PHP创始人Rasmus Lerdorf提出的一个wishlist: 1。完全抛弃全局变量wedding veil 2. 删除Magic Quotes 3. 增加一个输入过滤扩展代替Magic Quotes,提供一个机制让开发者很容易自己关闭或开启这个功能。而不是像现在的作法那样先判断服务器的GPC是否打开。 4. 默认加入opcode cache,对代码执行进行速度上的优化。目前大多用的是PECL或APC,但有一个官方的解决方案显然是比较好的。 5. 删除安全模式 safe_mode,改进open_basedir 6. 删除在PHP3/ 阅读全文

ThinkPHP采用模块和操作

2011-04-16 15:29 by 卫佳, 444 阅读, 0 推荐, 收藏, 编辑
摘要:ThinkPHP采用模块和操作的方式来执行,首先,用户的请求会通过入口文件生成一个应用实例,应用控制器(我们称之为核心控制器)会管理整个用户执行的过程,并负责模块的调度和操作的执行,并且在最后销毁该应用实例。任何一个WEB行为都可以认为是一个模块的某个操作,系统会根据当前的URL来分析要执行的模块和操作。这个分析工作由URL调度器来实现,官方内置了Dispatcher类来完成该调度。 在Dispatcher调度器中,会根据http://servername/appName/moduleName/actionName/params来获取当前需要执行的项目(appName)、 模块(module. 阅读全文

代码的腐化之路

2011-04-15 16:19 by 卫佳, 261 阅读, 0 推荐, 收藏, 编辑
摘要:11年刚进入一个新部门,接手一个老项目,典型的legacy code, 一个jsp 好几千行,那叫一个乱。但是细细瞧瞧, 还有不少代码是不错的,依稀能看到漂亮代码的影子,可以想象,当初的架构应该还是优美的,只不过经过了若干程序员之手以后,代码慢慢的腐化了。 07 年做的一个项目也是这样,刚开始的时候设计了一个漂亮的架构,大家都严格遵循规则写代码,很注意维护架构的完整性和一致性,也做Code Review,坚决杜绝 dirty code。 随着时间的推移,项目的进度压力加大,什么原则了,纪律了都抛弃了,实现功能是第一要务,最后系统变成了一个难于理清的大怪物, 现在大家都盼望着它赶紧退休,推倒重写 阅读全文

权限控制思路

2011-04-15 16:19 by 卫佳, 267 阅读, 0 推荐, 收藏, 编辑
摘要:这里介绍一种很常用,也比较Professor 的权限控制思路。 为了方便,我们这里定义a ^ b 为:a 的b 次方,并且为每一个操作设定一个唯一的整数值,例如: 删除A → 0 修改A → 1 添加A → 2 删除B → 3 修改B → 4 添加B → 5 …… 理论上可以有N 个操作,这取决于你用于储存用户权限值的数据类型了。 这样,如果用户有权限:添加A → 2 ;删除B → 3 ;修改B →4 那用户的权限值 purview =2 ^ 2+2 ^ 3+2 ^ 4 =28 ,也就是2 的权的和了,化成二进制可以表示为11100 。 如果要验证用户是否有删除B的权限,就可以通过位与运算来实 阅读全文

Spring也许在慢慢成为EJB

2011-04-15 16:18 by 卫佳, 278 阅读, 0 推荐, 收藏, 编辑
摘要:Spring也许在慢慢成为EJB依赖注入并不是不好,但Spring的依赖注入并不是很好,因为他要强迫很多人员了解别人的东西(你现在要用别人的一个接口,需要配置 Spring,那么你必然要找到该接口的实现类,甚至是多个实现类,需要了解别人内部的东西,这叫解耦吗),特别是开发人员水平不高的情况下,基本上就是 为了注入而注入,为了接口而接口。 Spring更合适在模块内部使用,但现在大部分开发人员都做不到模块化设计,而Spring大量的配置文件,将相关内容全局化了,进一步破坏了模块化设计的可能。 Spring的配置文件太多,而且基本上现在web开发中,都是全局化的,再加上autowire,维护难度远 阅读全文

get与post的区别与联系

2011-04-15 16:18 by 卫佳, 420 阅读, 1 推荐, 收藏, 编辑
摘要:这里来说说get与post的区别与联系:区别与联系: 1、get是从服务器上获取数据,post则是向服务器传送数据; 2、get将表单中数据的按照variable=value的 形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接。Post是将表单中的数据放在form的 数据体中,按照变量和值相对应的方式,传递到action所指向URL;fashion jewelry wholesale 所以从上述也可以得到另外两个结论: 1、get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。post传送的数据量较大,所以在上传文件只能使 阅读全文
上一页 1 ··· 18 19 20 21 22