除了分配和使用自己的属性外,Phing还附带了一组内置属性,这些属性可用于查找有关运行Phing的系统的各种信息。
例如,假设您想找出正在运行phing的操作系统。在这种情况下,您将使用变量host.os,该变量在WindowsXP系统上将输出WINNT。
有很多不同的属性可用,因此我在这篇文章底部的phing网站中包含了该表作为参考。但是,有一个名为env的特殊变量需要进一步说明。env变量引用已设置的所有环境变量。例如,如果使用以下shell命令设置环境变量(仅在基于UNIX的系统上)。
exportTESTVAR=mytestvar
现在,您可以build.xml使用以下内容在文件中引用它。
${env.TESTVAR}
这是可用的内置属性表。
财产 | 内容 | application.startdir | Currentworkdirectory |
env.* | Environmentvariables,extractedfrom$_SERVER. |
host.arch | Systemarchitecture,i.e.i586.NotavailableonWindowsmachines. |
host.domain | DNSdomainname,i.e.php.net.NotavailableonWindowsmachines. |
host.fstype | Thetypeofthefilesystem.PossiblevaluesareUNIX,WINNTandWIN32 |
host.name | OperatingSystemhostnameasreturnedbyposix_uname().NotavailableonWindowsmachines. |
host.os | OperatingSystemdescriptionassetinPHP_OSvariable(seePHPManual). |
host.os.release | Operatingversionrelease,i.e.2.2.10.NotavailableonWindowsmachines. |
host.os.version | Operatingsystemversion,i.e.#4TueJul2017:01:36MEST1999.NotavailableonWindowsmachines. |
line.separator | Character(s)thatsignaltheendofaline,"\n"forLinux,"\r\n"forWindowssystem,"\r"forMacintosh. |
os.name | OperatingSystemdescriptionassetinPHP_OSvariable. |
phing.file | Fullpathtocurrentbuildfile. |
phing.home | Phinginstallationdirectory,notsetinPEARinstallations. |
phing.version | CurrentPhingversion. |
phing.project.name | Nameofthecurrentlyprocessedproject. |
php.classpath | ThevalueoftheenvironmentvariablePHP_CLASSPATH. |
php.version | VersionofthePHPinterpreter.SameasPHPconstantPHP_VERSION(seePHPManual). |
project.basedir | Thecurrentprojectbasedir. |
user.home | ValueoftheenvironmentvariableHOME. |
也可以在Phing网站上找到此列表。
我发现,即使某些变量明确表示“在Windows上不可用”,即使在Windows计算机上,它们中的大多数也会产生某种输出。这是一个测试build.xml文件,您可以使用该文件查看系统上输出的不同变量。
application.startdir ${application.startdir}
host.arch ${host.arch}
host.domain ${host.domain}
host.fstype ${host.fstype}
host.name ${host.name}
host.os ${host.os}
host.os.release ${host.os.release}
host.os.version ${host.os.version}
line.separator ${line.separator}
os.name ${os.name}
phing.file ${phing.file}
phing.home ${phing.home}
phing.version ${phing.version}
phing.project.name ${phing.project.name}
php.classpath${php.classpath}
php.version ${php.version}
project.basedir ${project.basedir}
user.home ${user.home}
该文件缺少env属性,因为这是一个自定义属性。
使用Phing进行自动构建