码迷,mamicode.com
首页 > 其他好文 > 详细

symfony command

时间:2018-01-09 20:29:32      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:nbsp   开启   body   补全   分发   lis   post   pos   函数   

symfony 的command系统,有两部分构成:Application和command

1. Application是一个容器,负责对command进行管理。

2。command是每一个具体的命令。

 

Application 详细说明:

主要属性:

1. $terminal  终端,内部调用,不需要用户自己做任何控制,本属性通过配置,或者直接通过命令行的方式来确定命令展示区域的高度和宽度。在初始化函数里面直接赋值。

2. $dispatcher 事件分发,只有定义了,才会开启事件机制。

 

 

主要函数:

1. run 运行命令,是外部调用运行命令的起点。

    首先,初始化input和output

    然后,根据输入和参数,配置input和output。

    最后,调用dorun,实际运行代码。

2. dorun 命令的实际运行程序。

   2.1  version和help选项的默认处理。

   2.2 如果参数中没有命令名称,调用默认命令(默认是list)。

   2.3 根据命令名称,find(找到)对应的命令。

   2.4 调用doRunCommand,执行找到的命令。

 

3. find 根据命令名称,查找对应命令。

  3.1 commandLoader和commands合并,组成全部commands

       $allCommands = $this->commandLoader ? array_merge($this->commandLoader->getNames(), array_keys($this->commands)) : array_keys($this->commands);

 3.2 用正则查找格式跟输入命令名称匹配的命令(首先大小写一致的匹配,如果不存在,忽略大小写,重新匹配一次),找不到对应命令,直接扔异常。

 3.3 根据名称,检查commandLoader和commands中是否存在此命令,如果commandLoader中存在,加到commands中,从数组commands中读取对应command。

 

4. doRunCommand  针对当前command,运行对应的run函数,并且生成各种事件。

 

command类

 

主要函数:

1. execute 命令的执行逻辑,需要用户补全。

2. configure 配置函数,运行前补全

3. run,实际被application调用的函数,本函数调用excute运行。

 

symfony command

标签:nbsp   开启   body   补全   分发   lis   post   pos   函数   

原文地址:https://www.cnblogs.com/yxzamy/p/8203775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!