Monday, May 28, 2007

Subversion 快速入门

参考文档:《使用 subversion 进行版本控制》

Subversion 存储所有版本控制的数据到一个中心版本库。一开始,我们要新建一个版本库:

$ svnadmin create /path/to/repos
$ ls /path/to/repos

假定有一些希望导入到 Subversion 版本库中的项目,那么将这些项目整理到一个叫做 Myproject 的文件夹中。并且这些项目要有 branches、tags 和 trunk 三个顶级目录。trunk 目录保存所有的数据,而 branches 和 tags 都是空的(这样做有好处):

/tmp/myproject/branches/
/tmp/myproject/tags/
/tmp/myproject/trunk/
foo.c
bar.c
Makefile
...

准备好数据后就可以使用 svn import 命令将数据导入到版本库:

$ svn import /tmp/myproject file:///path/to/repos/myproject -m "initial import"

现在版本库包含了这个目录树的数据。可以删除 /tmp/myproject 目录及其下的所有文件了。现在从 Subversion 版本库里取出一个工作拷贝:

$ svn checkout file:///path/to/repos/myproject/trunk myproject

现在可以编辑使用工作拷贝中的文件了。

* 进入工作拷贝,编辑一个文件的内容;
* 运行 svn diff 来查看修改的标准区别输出;
* 运行 svn commit 来提交你的改变到版本库;
* 运行 svn update 将你的工作拷贝与版本库“同步”。

Thursday, May 17, 2007

PHP 常量的定义和使用

如果所定义的常量不在类内,则可以这样写(参考:http://www.phpe.net/manual/language.constants.php):

("CONSTANT", "Hello world.");
echo
CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.


如果定义的常量在类内部,则应当且必须这样写(参考:http://i.92wy.com/personal_blog_show.aspx?id=39341

class MyClass
{ const constant = 'constant value';
function
showConstant() { echo self::constant."\n"; }
}
echo
MyClass::constant."\n";
$class = new MyClass();
$class->showConstant();// echo $class::constant; is not allowed