webman/console कमांड लाइन प्लगइन
webman/console आधारित है symfony/console
स्थापना
composer require webman/console
समर्थित कमांड
उपयोग विधि
php webman कमांड
उदाहरण php webman version
स्पष्टता
लिनक्स सिस्टम में इसे सरलता से./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
एक 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