/** * Execute the console command. * * @return mixed */ public function handle() { if (is_dir(app_path('Http/Forms'))) { foreach (\File::allFiles(app_path('Http/Forms')) as $f) { $class = \App::getNamespace() . 'Http\\Forms\\' . str_replace('.php', '', $f->getFilename()); Register::container($class); } } //добавим геттеры в контейнеры //добавим сеттеры в контейнеры foreach (Register::$containers as $container) { $this->info($container); foreach ($this->form_element_methods_get as $method) { $params = $this->getMethodParams($container, $method); $this->putPhpDoc($container, 'string', $method, $params); } foreach ($this->form_element_methods_set as $method) { $params = $this->getMethodParams($container, $method); $this->putPhpDoc($container, $container, $method, $params); } } //добавим элементы в контейнеры $i = 0; foreach (Register::$elements as $name => $data) { $this->info(++$i . ') ' . $name); $class = Arr::get($data, 'class'); foreach (Register::$containers as $container) { $params = $this->getMethodParams($class, 'laraform'); $method = \Illuminate\Support\Str::camel('put_' . $name); $this->putPhpDoc($container, $class, $method, $params); } foreach ($this->form_element_methods_get as $method) { $params = $this->getMethodParams($class, $method); $this->putPhpDoc($class, 'string', $method, $params); } foreach ($this->form_element_methods_set as $method) { $params = $this->getMethodParams($class, $method); $this->putPhpDoc($class, $class, $method, $params); } } $data = $this->ret; $content = \View::make('quickform::ide-helper', ['data' => $data, 'tab' => "\t"]); file_put_contents(base_path() . '/_ide_helper_laraform.php', $content); $this->info('IDE helper сгенерирован для ' . count($this->classes) . ' элементов'); }
<?php //регистрируем рендер \HTML_QuickForm2_Renderer::register('larakit_form', Larakit\QuickForm\LaraFormRenderer::class, realpath(__DIR__ . '/QuickForm/LaraFormRenderer.php')); //регистрируем команду Larakit\Boot::register_command(\Larakit\QuickForm\CommandQuickformIde::class); Larakit\Boot::register_command(\Larakit\QuickForm\CommandQuickformMakeForm::class); Larakit\Boot::register_provider(\Larakit\QuickForm\LarakitServiceProvider::class); \Larakit\QuickForm\Register::container(Larakit\QuickForm\LaraForm::class); \Larakit\StaticFiles\Manager::package('pear/html_quickform2')->cssPackage('quickform.css')->jsPackage('js/quickform.js')->scopeInit('hierselect', ['/packages/pear/html_quickform2/js/quickform-hierselect.js'])->scopeInit('repeat', ['/packages/pear/html_quickform2/js/quickform-repeat.js'])->setSourceDir('data'); \Larakit\QuickForm\Register::register('button_link_twbs', 'qf_button_link_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('button_twbs', 'qf_button_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('checkbox_twbs', 'qf_checkbox_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('group_checkbox_twbs', 'qf_checkbox_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('group_checkbox_button_twbs', 'qf_checkbox_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('daterangepicker_twbs', 'qf_daterangepicker_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('datetime_twbs', 'qf_datetime_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('date_twbs', 'qf_date_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('time_twbs', 'qf_time_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('email_twbs', 'qf_email_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('group_twbs', 'qf_group_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('number_twbs', 'qf_number_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('password_twbs', 'qf_password_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('radio_twbs', 'qf_radio_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('group_radio_twbs', 'qf_group_radio_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('group_radio_button_twbs', 'qf_group_radio_button_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('select2_twbs', 'qf_select2_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('select_twbs', 'qf_select_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('static_twbs', 'qf_static_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('submit_twbs', 'qf_submit_twbs', __DIR__ . '/views'); \Larakit\QuickForm\Register::register('switch_twbs', 'qf_switch_twbs', __DIR__ . '/views');