ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 5.5 Tasks Tasks are responsible for doing the work in Phing. Basically, tasks are the individual actions that your buildfile can perform. For example, tasks exist to copy a file, create a directory, TAR files in a directory. Tasks may also be more complex such as XsltTask which copies a file and transforms the file using XSLT, SmartyTask which does something similar using Smarty templates, or CreoleTask which executes SQL statements against a specified DB. See [Appendix聽B](apb.html "Appendix B. Core tasks") for descriptions of Phing tasks. Tasks support parameters in the form of: - Simple parameters (i.e. strings) passed as XML attributes, or - More complex parameters that are passed by nested tags Simple parameters are basically strings. For example, if you pass a value ``` "A simple string." ``` as a parameter, it is evaluated as a string and accessible as one. You can also reference properties as described in [Chapter聽4](ch04.html "Chapter 4 Getting started"). `Note:` There are special values that are not mapped to strings, but to boolean values instead. The values `true`, `false`, `yes`, `no`, `on` and `off` are translated to `true`/`false` boolean values. `<property name="myprop" value="value" override="true"/>`However, some tasks support more complex data types as parameters. These are passed to the task with `nested tags`. Consider the following example: ``` <copy> <fileset dir="."> <include name="**" /> </fileset> </copy> ``` Here, `CopyTask` is passed a complex parameter, a Fileset. Tasks may support multiple complex types in addition to simple parameters. Note that the names of the nested tags used to create the complex types depend on the task implementation. Tasks may support default Phing types (see [Section聽5.6](ch05s06.html "5.6 Types")) or may introduce other types, for example to wrap key/value pairs. Refer to [Appendix聽B](apb.html "Appendix B. Core tasks") for a list of system tasks and their parameters.