• <output id="blrhh"></output>
      <output id="blrhh"><sup id="blrhh"><div id="blrhh"></div></sup></output>
      <tbody id="blrhh"><b id="blrhh"></b></tbody>

    1. <output id="blrhh"></output>
      <output id="blrhh"></output>

    2. <blockquote id="blrhh"><ruby id="blrhh"></ruby></blockquote>
      <big id="blrhh"></big>
            1. <var id="blrhh"></var>

            2. <big id="blrhh"></big>

                <blockquote id="blrhh"></blockquote><var id="blrhh"><delect id="blrhh"><source id="blrhh"></source></delect></var>

                    <span id="blrhh"></span>
                    <strike id="blrhh"></strike><span id="blrhh"><i id="blrhh"></i></span><del id="blrhh"><ins id="blrhh"><menuitem id="blrhh"></menuitem></ins></del><strike id="blrhh"><dl id="blrhh"><ruby id="blrhh"></ruby></dl></strike>
                    <strike id="blrhh"></strike>
                    <th id="blrhh"><video id="blrhh"></video></th>

                    Laravel4 Artisan命令行实战

                    Laravel 4 Artisan 命令行实战

                    需求

                    有一个需求, 需要把已有的老数据做整理, 为每篇 Topic 生成一个摘要信息, 并放到数据库里面, 方便以后的读取.

                    对于这个需求我们通过扩展 Laravel 4 的 Artisan 命令来实现.

                    创建命令

                    1. 命令行生成文件

                    以下命令会在 app/commands 文件夹中生成 TopicMakeExcerptCommand.php 文件

                    $ php artisan command:make TopicMakeExcerptCommand Command created successfully. 

                    2. 激活 Artisan 命令行

                    app/start/artisan.php 文件里面, 添加以下

                    Artisan::add(new TopicMakeExcerptCommand); 

                    3. 加入业务逻辑代码

                    第一步生成的 TopicMakeExcerptCommand.php 文件, 修改以下区域

                    1. <?php 
                    2.  
                    3. use Illuminate\Console\Command; 
                    4. use Symfony\Component\Console\Input\InputOption; 
                    5. use Symfony\Component\Console\Input\InputArgument; 
                    6.  
                    7. class TopicMakeExcerptCommand extends Command { 
                    8.  
                    9.   /** 
                    10.    * 1. 这里是命令行调用的名字, 如这里的: `topic:excerpt`,  
                    11.    * 命令行调用的时候就是 `php artisan topic:excerpt` 
                    12.    * 
                    13.    * @var string 
                    14.    */ 
                    15.   protected $name = 'topic:excerpt'
                    16.  
                    17.   /** 
                    18.    * 2. 这里填写命令行的描述, 当执行 `php artisan` 时 
                    19.    *   可以看得见. 
                    20.    * 
                    21.    * @var string 
                    22.    */ 
                    23.   protected $description = '这里修改为命令行的描述'
                    24.  
                    25.   /** 
                    26.    * Create a new command instance. 
                    27.    * 
                    28.    * @return void 
                    29.    */ 
                    30.   public function __construct() 
                    31.   { 
                    32.     parent::__construct(); 
                    33.   } 
                    34.  
                    35.   /** 
                    36.    * 3. 这里是放要执行的代码, 如在我这个例子里面, 
                    37.    *   生成摘要, 并保持. 
                    38.    * 
                    39.    * @return mixed 
                    40.    */ 
                    41.   public function fire() 
                    42.   { 
                    43.         $topics = Topic::all(); 
                    44.         $transfer_count = 0; 
                    45.  
                    46.         foreach ($topics as $topic) { 
                    47.           if (emptyempty($topic->excerpt)) 
                    48.           { 
                    49.               $topic->excerpt = Topic::makeExcerpt($topic->body); 
                    50.               $topic->save(); 
                    51.               $transfer_count++; 
                    52.           } 
                    53.         } 
                    54.         $this->info("Transfer old data count: " . $transfer_count); 
                    55.         $this->info("It's Done, have a good day."); 
                    56.   } 
                    57. ?> 

                    4. 命令行调用

                    先查看下是否注册成功, 直接运行:

                    php artisan 

                    如以下图片:

                    开始执行命令

                    执行结果如下图:

                    转载请注明:代码家园 ? Laravel4 Artisan命令行实战

                    评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
                  1. <output id="blrhh"></output>
                      <output id="blrhh"><sup id="blrhh"><div id="blrhh"></div></sup></output>
                      <tbody id="blrhh"><b id="blrhh"></b></tbody>

                    1. <output id="blrhh"></output>
                      <output id="blrhh"></output>

                    2. <blockquote id="blrhh"><ruby id="blrhh"></ruby></blockquote>
                      <big id="blrhh"></big>
                            1. <var id="blrhh"></var>

                            2. <big id="blrhh"></big>

                                <blockquote id="blrhh"></blockquote><var id="blrhh"><delect id="blrhh"><source id="blrhh"></source></delect></var>

                                    <span id="blrhh"></span>
                                    <strike id="blrhh"></strike><span id="blrhh"><i id="blrhh"></i></span><del id="blrhh"><ins id="blrhh"><menuitem id="blrhh"></menuitem></ins></del><strike id="blrhh"><dl id="blrhh"><ruby id="blrhh"></ruby></dl></strike>
                                    <strike id="blrhh"></strike>
                                    <th id="blrhh"><video id="blrhh"></video></th>
                                    青海快3定位走势图
                                  1. <output id="blrhh"></output>
                                      <output id="blrhh"><sup id="blrhh"><div id="blrhh"></div></sup></output>
                                      <tbody id="blrhh"><b id="blrhh"></b></tbody>

                                    1. <output id="blrhh"></output>
                                      <output id="blrhh"></output>

                                    2. <blockquote id="blrhh"><ruby id="blrhh"></ruby></blockquote>
                                      <big id="blrhh"></big>
                                            1. <var id="blrhh"></var>

                                            2. <big id="blrhh"></big>

                                                <blockquote id="blrhh"></blockquote><var id="blrhh"><delect id="blrhh"><source id="blrhh"></source></delect></var>

                                                    <span id="blrhh"></span>
                                                    <strike id="blrhh"></strike><span id="blrhh"><i id="blrhh"></i></span><del id="blrhh"><ins id="blrhh"><menuitem id="blrhh"></menuitem></ins></del><strike id="blrhh"><dl id="blrhh"><ruby id="blrhh"></ruby></dl></strike>
                                                    <strike id="blrhh"></strike>
                                                    <th id="blrhh"><video id="blrhh"></video></th>
                                                  1. <output id="blrhh"></output>
                                                      <output id="blrhh"><sup id="blrhh"><div id="blrhh"></div></sup></output>
                                                      <tbody id="blrhh"><b id="blrhh"></b></tbody>

                                                    1. <output id="blrhh"></output>
                                                      <output id="blrhh"></output>

                                                    2. <blockquote id="blrhh"><ruby id="blrhh"></ruby></blockquote>
                                                      <big id="blrhh"></big>
                                                            1. <var id="blrhh"></var>

                                                            2. <big id="blrhh"></big>

                                                                <blockquote id="blrhh"></blockquote><var id="blrhh"><delect id="blrhh"><source id="blrhh"></source></delect></var>

                                                                    <span id="blrhh"></span>
                                                                    <strike id="blrhh"></strike><span id="blrhh"><i id="blrhh"></i></span><del id="blrhh"><ins id="blrhh"><menuitem id="blrhh"></menuitem></ins></del><strike id="blrhh"><dl id="blrhh"><ruby id="blrhh"></ruby></dl></strike>
                                                                    <strike id="blrhh"></strike>
                                                                    <th id="blrhh"><video id="blrhh"></video></th>
                                                                    3串1错1场有奖金吗 红球ac值是什么意思 新快3江苏 南粤36选7走势图预测号码 湖南幸运赛车历史开奖走势图 巴西足球队 彩吧论坛3d三天计划 广西十一选五走势图百度 凤彩网3d胆码精准 快乐十分玩法 北京塞车pk10历史开奖记录 南粤风彩36选726选5 安徽25选5图表 精准一尾中特料 山东快乐扑克3官网