概述
* ./artisan
#!/usr/bin/env php
<?php
// 应用目录
define('APP_PATH', __DIR__.'/application/');
// 定义缓存目录
define('RUNTIME_PATH', __DIR__.'/runtime/');
// 加载框架引导文件
require dirname(__FILE__).'/thinkphp/console.php';
* application/oa/command/Users.php
<?php
namespace appoacommand;
use thinkconsoleCommand;
use thinkConfig;
use thinkconsoleInput;
use thinkconsoleOutput;
class Users extends Command
{
protected function configure() {
parent::configure();
$this->setName('users')->setDescription("代理用户名");
}
/**
* @param Input $input An InputInterface instance
* @param Output $output An OutputInterface instance
*/
protected function initialize(Input $input, Output $output) {
// 读取数据库配置文件
$filename = ROOT_PATH . 'config/database.php';
// echo $filename.PHP_EOL; die;
Config::load($filename, 'database');
}
private static function getLine() {
$c = <<<EOF
zhuopeijie
gezhiming
guchunmei
huyuesheng
lixuefeng
czwangfang
luweidangcz
yaozhengrong
lilie
yuanyoufeng
EOF;
for ($i = 0, $j = 0; isset($c[$j]); $j++) {
if ($c[$j] === "n") {
if (isset($c[$j-1]) && $c[$j-1]==="r") {
yield substr($c, $i, $j-$i-1);
} else {
yield substr($c, $i, $j-$i);
}
$i = $j+1;
}
}
}
protected function execute(Input $input, Output $output) {
// $lines = explode("n", $content);
foreach (self::getLine() as $line) {
printf("[%s]n", $line);
}
}
}
配置命令行脚本文件路径
* application/command.php
<?php
return [
'appoacommandSample',
'appoacommandApprovalCommand',
'appoacommandChannels',
'appoacommandProxy',
'appoacommandDistrict',
'appoacommandUsers',
'appoacommandReports',
];
在项目根目录
php artisan users
带命令行参数的情况:
<?php
/**
* Created by PhpStorm.
* User: mzh
* Date: 3/12/2020
* Time: 10:20
*/
namespace appadmincommand;
use appadminmodelSystemUser;
use thinkconsoleInput;
use thinkconsoleinputArgument;
use thinkconsoleOutput;
/**
* php think sys_user
* Class SysUserCommand
* @package appadmincommand
*/
class SysUserCommand extends thinkconsoleCommand
{
protected function configure() {
parent::configure();
$this->setName('sys_user')->setDescription("Add system user: php think sys_user [username] [password]");
$this->addArgument("username", Argument::REQUIRED, "username")
->addArgument("password", Argument::REQUIRED, "password")
->addArgument("wxapp_id", Argument::OPTIONAL, "wxapp_id")
->setHelp("php think sys_user [username] [password] [wxapp_id]");
}
/**
* @param Input $input An InputInterface instance
* @param Output $output An OutputInterface instance
*/
protected function initialize(Input $input, Output $output)
{
// 读取数据库配置文件
$filename = ROOT_PATH . 'config/database.php';
// echo $filename.PHP_EOL; die;
thinkConfig::load($filename, 'database');
}
protected function execute(Input $input, Output $output) {
$username = $input->getArgument("username");
$password = $input->getArgument("password");
$wxappId = $input->getArgument("wxapp_id") ?: "10002";
$user = new SystemUser();
$user->setUsername($username);
$user->setPassword($password);
$user->setWxAppId($wxappId);
$user->save();
$output->writeln(json_encode($user));
}
}
php think sys_user admin 123456
最后
以上就是苗条乌龟为你收集整理的thinkphp5 框架添加命令行脚本的全部内容,希望文章能够帮你解决thinkphp5 框架添加命令行脚本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复