谨慎:你正在浏览的遗产ob娱乐下载symfony 1.倍这个网站的一部分。
如何创建一个任务
ob娱乐下载Symfony的版本
语言
任何web应用程序,您的项目已经重复的维护任务,数据库操作或其他定期运行控制台脚本。
ob娱乐下载Symfony 1.1扩展了Symfony 1.0芳香醚酮任务创建一个强大而统一的命令行实用程序为您的项目,完全集成的Symfony命令行接口(CLI)。
- 可访问性:任何任务可以帮助运行参数前缀,语法,一个描述,可用选项等等。任何人都可以运行您的任务。
- 可用性:运行symfony CLIob娱乐下载会给你任务列表,甚至一个非开发人员能够轻松地学习如何运行。
- 均匀性:通过明确地描述每个选项和参数,symfony CLI将解析它们,这样你就可以忘记解析$ argv的麻烦的重复性任ob娱乐下载务。它会自动提醒用户错误的语法或失踪的参数。
- 环境:完全控制,由于新ProjectConfiguration和ApplicationConfiguration类。你不会再担心硬编码的环境或调试设置。
- 可读性:任何开放的源代码会得到伟大的描述预期的输入和目标任务。维修时间了理解和调试代码将会大大减少。
我们写我们的第一个任务
打开你的symfonob娱乐下载y 1.1项目目录和类型:
doNothob娱乐下载ing php symfony生成:美元的任务
这将引导一个空的任务在lib /任务/ doNothingTask.class.php。让我们调整一下。
类doNothingTask扩展sfBaseTask{受保护的函数配置(){这个美元- >名称空间=“项目”;这个美元- >的名字=“懒鬼”;这个美元- >briefDescription=并没有严格的;这个美元- >detailedDescription= < < < EOF这个任务是完全无用的,应该运行作为经常作为可能的。EOF;}受保护的函数执行(美元的参数=数组(),选择美元=数组()){这个美元- >logSection(“懒鬼”,“我并没有成功!”);}}
这个任务并不多,但展示了第一个基本概念。
- 的
配置()
方法描述了任务。调用的名称、范围、语法,帮助,选项和参数。 - 的
execute ()
方法实际上是谁做的所有工作,并将任务运行时调用。 - 的
logSection ()
方法可用于打印控制台输出上的消息。
你可以用它玩一点:
美元美元phob娱乐下载p symfony帮助项目:懒惰的php symfony项目:懒惰的
一些命令行交互
参数和选项是给一个任务参数的方式。
美元php ob娱乐下载symfony项目:hello world - name =“罗曼”
在这里我们运行项目:hello world
任务的的名字
选项设置为罗曼
美元php ob娱乐下载symfony项目:hello world嗨
现在,我们运行与第一个参数设置为相同的任务嗨
。
选项和参数有默认值,可以可选或要求和嵌入他们的目的是显示在任务的语法。
让我们写项目:hello world
任务:
类doHelloWorldTask扩展sfBaseTask{受保护的函数配置(){这个美元- >addArgument(“动词”,sfCommandArgument::可选,自定义动词用来打招呼的,“你好”);这个美元- >使用addOption(“名字”,零,sfCommandOption::PARAMETER_OPTIONAL,定制人问好的,“世界”);这个美元- >名称空间=“项目”;这个美元- >的名字=“hello world”;这个美元- >briefDescription=“传播(你好)世界”;这个美元- >detailedDescription= < < < EOF一种进化的hello world显示运行,可定制的名字和单词。EOF;}受保护的函数执行(美元的参数=数组(),选择美元=数组()){这个美元- >logSection(“做”,ucfirst(美元的参数(“动词”])。' '。ucfirst(选择美元(“名字”]));}}
现在看看symfony如何帮助失去了ob娱乐下载用户如何使用我们的新任务:
美元php ob娱乐下载symfony项目:hello world无效的参数给php symfony美元帮助项目:hello world
和玩一些任务:
美元美元phob娱乐下载p symfony项目:hello world php symfony项目:hello world - name =“罗曼”美元php symfony项目:hello world - name =罗曼嗨美元php symfony项目:hello world嗨- name =罗曼
其他方便的功能
你需要数据库层吗?
受保护的函数执行(美元的参数=数组(),选择美元=数组()){databaseManager美元=新sfDatabaseManager(这个美元- >配置);/ /……}
另一个任务运行在一个任务?
myOtherTask美元=新myOtherTask(这个美元- >调度程序,这个美元- >格式化程序);myOtherTask美元- >运行(美元的参数=数组(“foo”= >“酒吧”),选择美元=数组(“远”= >“嘘”));
需要让用户选择环境,同时提供一个默认的一个?
只是添加
env
选项::配置()
方法和environeob娱乐下载mnt symfony将使用它的价值。这个美元- >使用addOption(“env”,零,sfCommandOption::PARAMETER_OPTIONAL,“这个任务运行的环境变化”,“刺激”);
你怎么认为?这不是一些蛋糕上的樱桃,或例如,一些在symfony jazzy合唱吗?ob娱乐下载
这个工作许可适用创作共用署名下衍生著作3.0 Unported许可执照。