您可以使用 codeigniter 和 run via cli。创建一个只接受 cli 请求的控制器,您可以在视图目录中制作模板,您可以在其中指定新控制器的外观。
控制器样本:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class create extends CI_Controller {
public function __construct()
{
parent::__construct();
if( ! $this->input->is_cli_request())
{
show_404();
}
}
public function controller($controller_name = '', $dir = '')
{
if (empty($controller_name))
{
echo 'Please enter controller name!';
}
else
{
if ( ! empty($dir))
{
$dir = '/' . trim($dir, '/');
}
$fullpath = APPPATH . 'controllers' . $dir . '/' . $controller_name . EXT;
if (file_exists($fullpath))
{
echo 'Filename exists.';
}
else
{
if ( ! is_dir(dirname($fullpath)) )
{
mkdir(dirname($fullpath), 0777, true) or die("Unable to create a directory!");
}
$data = array('controller_name' => $controller_name);
$template = $this->load->view('template/controller', $data, true);
$file = fopen($fullpath, "w") or die("Unable to create a file!");
fwrite($file, html_entity_decode($template));
echo $controller_name . ' created.';
}
}
}
}
查看示例:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class <?php echo $controller_name ?> extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
}
}
我将我的控制器放在 cli 文件夹下,该文件夹将驻留在 APPPATH/controller/cli/create.php 中
要运行此脚本,请通过 index.php 所在的终端转到您的项目目录
执行ff命令:
php index.php cli create controller admin
这将在控制器中创建 admin.php,但是如果你想将它放在一个目录中,只需为目录添加另一个参数
php index.php cli create controller admin backend
这将再次创建这个文件 'controller/backend/admin.php'