webman/console कमांड लाइन प्लगइन

webman/console symfony/console पर आधारित है

प्लगइन के लिए webman>=1.2.2 webman-framework>=1.2.1 आवश्यक है।

स्थापना

composer require webman/console

समर्थित कमांड

उपयोग
php webman कमांड या php webman कमांड
उदाहरण के लिए php webman version या php webman version

समर्थित कमांड

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
एप्लिकेशन प्लगइन देखें।

phar:pack

webman परियोजना को phar फ़ाइल में पैक करें
phar पैक देखें।

यह सुविधा webman>=1.2.4 webman-framework>=1.2.4 webman\console>=1.0.5 की आवश्यकता है।

कस्टम कमांड

उपयोगकर्ता अपने खुद के कमांड परिभाषित कर सकते हैं, उदाहरण के लिए निम्नलिखित डेटाबेस कॉन्फ़िगरेशन प्रिंट करने के लिए निम्नलिखित हैं।

  • 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 ? 'सत्य' : 'असत्य';
                        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 | सत्य    | mysql  | 127.0.0.1 | 3306 | mysql    | root     | ******   |             | utf8    | utf8_unicode_ci |        | 1      |        |        |         |
+-------+---------+--------+-----------+------+----------+----------+----------+-------------+---------+-----------------+--------+--------+--------+--------+---------+

अधिक जानकारी के लिए

http://www.symfonychina.com/doc/current/components/console.html