개발 꿀팁/PHP

thinkphp 사용자 지정 명령줄 만들기

Jammie 2022. 9. 20. 11:16
반응형

1,아래 그림의 경우, api 모듈 아래에 command 디렉토리를 작성한 후 필요한 명령어 실행 파일을 작성합니다.
실행 파일이 Online.php되지 않았습니다

다음은 코드 예제입니다

<?php


namespace app\api\command;


use think\console\Input;
use think\console\input\Argument;
use think\console\Output;
use think\console\Command;


/**
 * @package app\api\command
 */
class Online extends Command
{
    /**
     * 설정 명령
     */
    protected function configure()
    {
        $this->addArgument('task_id', Argument::OPTIONAL);
        $this->addArgument('sex', Argument::OPTIONAL);
        //명령을 실행할 인자를 가져옵니다. key 인자를 정의합니다
        $this->setName('online:member')->setDescription('online member');
    }
    protected function execute(Input $input, Output $output)
    {
        $args = $input->getArguments();
      	$task_id=$args['task_id'];
        $sex=$args['sex'];
    }
}
코드 해독
실행 파일을 로드하려면 thinkphp의 command 클래스를 상속해야 합니다
configure 설정 방법
$this->addArgument('task_id', Argument::OPTIONAL); 명령어를 얻기 위한인자
예를 들어 php think online:member 12
그러면 첫 번째 task_id=1
두 번째 task_id=2
execute 실행 방법
$args = $input -> getArguments( ); 정의된 매개 변수 가져오기

그런 다음 application/너의 모듈 목록 아래에 command.php를 만듭니다

return 네 네임스페이스 바로 사용 가능

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------



return ['app\api\command\Online'];

그럼 한번 같이 해보도록 하겠습니다

 

반응형

'개발 꿀팁 > PHP' 카테고리의 다른 글

php AES 암호화 복호화 예제  (0) 2022.09.20
PHP에서 PHPMailer로 메일 보내기  (0) 2022.09.20
php 클래스의 각종 차단기  (1) 2022.09.19
PHP에서 페이지 점프  (0) 2022.09.19
PHP 객체 지향 요점  (0) 2022.09.19