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