webman/console คำสั่งเสริม
webman/console
ขับเคลื่อนโดย symfony/console
การติดตั้ง
composer require webman/console
คำสั่งที่รองรับ
วิธีการใช้งาน
php webman คำสั่ง
ตัวอย่างเช่น php webman version
หมายเหตุ
สำหรับระบบ Linux สามารถใช้คำง่ายๆ เป็น./webman คำสั่ง
คำสั่งที่รองรับ
version
พิมพ์หมายเลขเวอร์ชันของ webman
route:list
พิมพ์การตั้งค่าเส้นทางปัจจุบัน
make:controller
สร้างไฟล์ควบคุม
ตัวอย่างเช่น php webman make:controller admin
จะสร้างไฟล์ app/controller/AdminController.php
ตัวอย่างเช่น php webman make:controller api/user
จะสร้างไฟล์ app/api/controller/UserController.php
make:model
สร้างไฟล์โมเดล
ตัวอย่างเช่น php webman make:model admin
จะสร้างไฟล์ app/model/Admin.php
ตัวอย่างเช่น php webman make:model api/user
จะสร้างไฟล์ app/api/model/User.php
make:middleware
สร้างไฟล์กลาง
ตัวอย่างเช่น php webman make:middleware Auth
จะสร้างไฟล์ app/middleware/Auth.php
make:command
สร้างไฟล์คำสั่งที่กำหนดเอง
ตัวอย่างเช่น php webman make:command db:config
จะสร้างไฟล์ app\command\DbConfigCommand.php
plugin:create
สร้างปลั๊กอินพื้นฐาน
ตัวอย่างเช่น php webman plugin:create --name=foo/admin
จะสร้างไดเรกทอรี config/plugin/foo/admin
และ vendor/foo/admin
ดูที่การสร้างปลั๊กอินพื้นฐาน
plugin:export
ส่งออกปลั๊กอินพื้นฐาน
ตัวอย่างเช่น php webman plugin:export --name=foo/admin
ดูที่การสร้างปลั๊กอินพื้นฐาน
plugin:export
ส่งออกปลั๊กอินที่ใช้งาน
ตัวอย่างเช่น php webman plugin:export shop
ดูที่ปลั๊กอินที่ใช้งาน
build:phar
บรรจุโครงการ webman ให้เป็นไฟล์ phar
ดูที่การบรรจุ phar
build:bin
บรรจุโครงการ webman ให้เป็นไฟล์ไบนารีที่สามารถดำเนินการได้โดยตรง
ดูที่การบรรจุ phar
คำสั่งที่กำหนดเอง
ผู้ใช้สามารถกำหนดคำสั่งของตัวเองได้ ตัวอย่างเช่น นี่คือคำสั่งที่พิมพ์การตั้งค่าฐานข้อมูล
- ดำเนินการ
php webman make:command config:mysql
- เปิดไฟล์
app/command/ConfigMySQLCommand.php
และแก้ไขให้เป็นดังนี้
<?php
namespace app\command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class ConfigMySQLCommand extends Command
{
protected static $defaultName = 'config:mysql';
protected static $defaultDescription = 'แสดงการตั้งค่าเซิร์ฟเวอร์ MySQL ปัจจุบัน';
protected function execute(InputInterface $input, OutputInterface $output)
{
$output->writeln('ข้อมูลการตั้งค่า MySQL มีดังนี้:');
$config = config('database');
$headers = ['name', 'default', 'driver', 'host', 'port', 'database', 'username', 'password', 'unix_socket', 'charset', 'collation', 'prefix', 'strict', 'engine', 'schema', 'sslmode'];
$rows = [];
foreach ($config['connections'] as $name => $db_config) {
$row = [];
foreach ($headers as $key) {
switch ($key) {
case 'name':
$row[] = $name;
break;
case 'default':
$row[] = $config['default'] == $name ? 'true' : 'false';
break;
default:
$row[] = $db_config[$key] ?? '';
}
}
if ($config['default'] == $name) {
array_unshift($rows, $row);
} else {
$rows[] = $row;
}
}
$table = new Table($output);
$table->setHeaders($headers);
$table->setRows($rows);
$table->render();
return self::SUCCESS;
}
}
การทดสอบ
รันในบรรทัดคำสั่ง php webman config:mysql
ผลลัพธ์จะคล้ายต่อไปนี้:
+-------+---------+--------+-----------+------+----------+----------+----------+-------------+---------+-----------------+--------+--------+--------+--------+---------+
| name | default | driver | host | port | database | username | password | unix_socket | charset | collation | prefix | strict | engine | schema | sslmode |
+-------+---------+--------+-----------+------+----------+----------+----------+-------------+---------+-----------------+--------+--------+--------+--------+---------+
| mysql | true | mysql | 127.0.0.1 | 3306 | mysql | root | ****** | | utf8 | utf8_unicode_ci | | 1 | | | |
+-------+---------+--------+-----------+------+----------+----------+----------+-------------+---------+-----------------+--------+--------+--------+--------+---------+
ข้อมูลเพิ่มเติม
http://www.symfonychina.com/doc/current/components/console.html