php安装init.cmd,创建系统初始化工具[init]命令

创建系统初始化工具[init]命令¶

init 命令用来初始化系统程序。负责创建系统所需的数据表,和初始的数据信息。

namespace asbamboo\frameworkStandard\command;

use asbamboo\console\ProcessorInterface;

use asbamboo\console\command\CommandAbstract;

use asbamboo\di\ContainerAwareTrait;

use asbamboo\database\ManagerInterface;

use asbamboo\database\FactoryInterface;

class InitCommand extends CommandAbstract

{

use ContainerAwareTrait;

/**

*

* @var ManagerInterface

*/

private $DbManager;

/**

*

* @param FactoryInterface $Db

*/

public function __construct(FactoryInterface $Db)

{

parent::__construct();

$this->DbManager = $Db->getManager();

}

/**

* 删除数据信息

*

* @param ProcessorInterface $Processor

*/

private function dropDbData(ProcessorInterface $Processor) : void

{

/**

*

* @var Factory $Db

*/

$this->DbManager->getConnection()->exec("

DROP TABLE IF EXISTS `t_user`;

");

$this->DbManager->getConnection()->exec("

DROP TABLE IF EXISTS `t_post`;

");

}

/**

* 创建初始数据表

*

* @param ProcessorInterface $Processor

*/

private function createDbData(ProcessorInterface $Processor) : void

{

/**

*

* @var Factory $Db

*/

$this->DbManager->getConnection()->exec("

CREATE TABLE `t_user`(`user_seq` INTEGER PRIMARY KEY, `user_id`, `user_password`, `user_type`);

");

$this->DbManager->getConnection()->exec("

CREATE TABLE `t_post`(`post_seq` INTEGER PRIMARY KEY, `post_title`, `post_content`, `user_seq`, `post_create_time`, `post_update_time`);

");

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::exec()

*/

public function exec(ProcessorInterface $Processor)

{

if($Processor->input()->prompt('初始化将导致以后数据被清除,你确定要初始化系统吗?请回复yes或no: ') == 'yes'){

$Processor->output()->print('正在删除原有数据信息...', "\r\n");

$this->dropDbData($Processor);

$Processor->output()->print('正在重新创建初始数据信息...', "\r\n");

$this->createDbData($Processor);

$Processor->output()->print('系统初始化成功.', "\r\n");

}

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::help()

*/

public function help(): string

{

$console = $_SERVER['SCRIPT_FILENAME'];

return <<

例: php {$console} {$this->getName()}

HELP;

}

/**

*

* {@inheritDoc}

* @see \asbamboo\console\command\CommandInterface::desc()

*/

public function desc(): string

{

return '系统初始化';

}

/**

* 定义命令行名称

*

* @return string

*/

public function getName() : string

{

return 'init';

}

}

命令的使用¶

./bin/console init -h 查看帮助

./bin/console init 执行初始化操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值