自2000年5月22日发布正式稳定版8年之后,8月8日标志着PHP 4生命的终结,官方不再提供支持,不会再有安全补丁发布。PHP 4.4.9是PHP 4.x的最后一个版本。管理员和开发者失去了最后一个不升级到新一代版本开发环境的理由。过去几年,PHP 5提供了多种升级的途径,它的最新版本是5.2.6。但PHP 4发布8年之后,仍然有相当多的系统将不会在未来迁移到PHP 5,其中有相当的一部分可能永远也不会升级到PHP 5。
对于那些不升级到新版PHP的用户,PHP专家Stefan Esser将通过Suhosin项目继续为PHP 4.x系列提供第三方安全补丁。
对象的持久化最初是从JAVA那边提出来的,只是人家是编译型的语言,而PHP是解释性语言,在PHP4的时候已经可以持久化了,只是那时候PHP的性能还只是一般(相对于5而言,主要是指对象操作方面),如今PHP5横行于世,持久化也就在各种各样的项目中被使用。
今天再整理一下,争取明天发出来,如果太多,那就只能连载了。。
本人较懒,黑黑
本文来自天极网,但具体网址没有了,因为别人也是转摘,唉。如果有需要,请告诉我链接,我会加上,或者通知我删除本文。谢谢。
原文摘要:
本文将讨论多态性的概念及其在面向对象设计中的应用,还将分析如何在php5中使用多态性以及存在的优缺点。
PHP的最新发行版本中已经实现了对迟绑定的支持。当然,在使用其迟绑定功能时还存在很多问题。如果你使用的是更旧版本的PHP(我的服务器上运行的是 PHP 5.0.1版本),那么你可能发现其中缺乏对于迟绑定的支持。因此,请注意本文中的代码有可能无法工作在你特定的PHP 5版本中。
» 阅读全文
在工作中我总是会发现有些人的程序里有些不妨碍程序正常执行的小问题,并且很多人都常常愿意这样写,下面我列举一下
1.php属于弱语言,所以在使用一个变量的时候,不需要为其指定变量类型和初始化值,但是我强烈建议在使用一个变量前,先为其初始化一个默认值,这样既安全又规范
2.
if (条件表达式1 && 条件表达式2)
//do something
else
//do something
?>
当进行与运算操作的时候,最好把最可能返回"False"的表达式放在操作的前面,这样当if条件遇到false后,就不在执行false以后的运算了,这样加快程序的执行速度,但是要注意一点的是false以后的条件表达式如果是个赋值的表达式,例如:
$a = 1;
$b = 0;
if (($a > 1) && ($b = 2))
?>
这段程序在$a > 1这个地方就执行完了,$b = 2的赋值操作将不再执行,结果$b的值还是0.
3.在使用mysql数据库的时候,执行"select count"操作的时候,尽量使用count(*)而不是count(一个字段),count(*)会直接使用索引文件进行统计(inndb类型的表除外)而不是去遍历整个数据表
4.在使用group by的时候,如果没有必要对返回结果集合进行排序,建议加上"order by null",这样会减少一步排序的操作
5.为table建立复合索引的时候,比如"name-city-age"这个索引,这个索引是由表中的字段name,city,age组成的,虽然我们 只为这张表建立了一个索引,但其实...嘿嘿嘿...这是三个索引,恩,哪三个索引呢...name,name-city,name-city-age这 三个索引,请注意,复合索引遵循的是最左原则,所以name-age,city-age将不会使用索引...
6.在建索引的时候,如果能保证这个(复合)索引的字段(组合)的值肯定是唯一值,那么就把这个(复合)索引建成唯一索引...
取自abetterday的博客:http://www.phpwap.cn/?action=articleContent&articleId=153
原文如下:附本人翻译(翻译水平其差,可以忽略直接看英文)
原文网址:http://valokuva.org/?p=92
- I know, it's been a while since I last blogged. This is because a lot of things are happening in my personal life. I recently relocated to London from Finland and started a new job. Things are quite busy but I will try to post an example now and then. In the meanwhile I would like to hear about sites using Imagick, so if your project is not super secret please post an url and maybe a small explanation what you're doing with Imagick on the site. This is purely for my personal interest.
-
- Anyway, to the point. Today's example originates from a question asked by a user. How do I thumbnail the image inside given dimensions proportionally and fill the "blank" areas with a color? Well, the answer is here :)
-
- The code is for Imagick 2.1.0 but adapting to older versions should not be hard.
翻译如下:
我知道现在离我的博客更新有一段时间了,这主要是因为最近发生了很多事。最近我找了份新工作,使我从芬兰搬到了伦敦,工作也非常忙,所以我在这里仅仅只发一个示例。同时我很高兴听到很多网站使用了imagick,我也希望如果您的项目不是很保密的话,是否能够发个链接及少量的注释以说明您的站点是如何使用Imagek的。顺便说一声,这完全是我个人的兴趣。
OK,上重头菜。今天的例子起源于一个用户的问题,那就是如果在为一张图片按比例做缩略图的时候,怎么为留空的地方用其他颜色填充。这个例子就是我的回复。
代码是FOR ImagicK 2.1.0版本,当然要改成以前的老版本代码也不是件难事。
下面就是代码了:
PHP代码
- <?php
-
- /* 定义缩略图的长宽*/
- $width = 100;
- $height = 100;
-
- /*创建一个对象,同时读回源图*/
- $im = new Imagick( "test.png" );
-
-
- /*按照比例进行缩放*/
- $im->thumbnailImage( $width, $height, true );
-
- $canvas = new Imagick();
- $canvas->newImage( $width, $height, 'pink', 'png' );
-
- $geometry = $im->getImageGeometry();
-
- $x = ( $width - $geometry['width'] ) / 2;
- $y = ( $height - $geometry['height'] ) / 2;
-
- $canvas->compositeImage( $im, imagick::COMPOSITE_OVER, $x, $y );
-
- header( "Content-Type: image/png" );
- echo $canvas;
- ?>
膘叔,上图片
源图:

缩图:
