当前位置: 首页>>代码示例>>PHP>>正文


PHP FormInterface::addFilter方法代码示例

本文整理汇总了PHP中WellCommerce\Component\Form\Elements\FormInterface::addFilter方法的典型用法代码示例。如果您正苦于以下问题:PHP FormInterface::addFilter方法的具体用法?PHP FormInterface::addFilter怎么用?PHP FormInterface::addFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WellCommerce\Component\Form\Elements\FormInterface的用法示例。


在下文中一共展示了FormInterface::addFilter方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $options = [];
     $processors = $this->getProcessors();
     foreach ($processors as $processor) {
         $options[$processor->getAlias()] = $processor->getName();
     }
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $languageData = $requiredData->addChild($this->getElement('language_fieldset', ['name' => 'translations', 'label' => $this->trans('form.fieldset.translations'), 'transformer' => $this->getRepositoryTransformer('translation', $this->get('payment_method.repository'))]));
     $languageData->addChild($this->getElement('text_field', ['name' => 'name', 'label' => $this->trans('common.label.name')]));
     $processorType = $requiredData->addChild($this->getElement('select', ['name' => 'processor', 'label' => $this->trans('payment_method.label.processor'), 'options' => $options, 'default' => current(array_keys($options))]));
     $requiredData->addChild($this->getElement('checkbox', ['name' => 'enabled', 'label' => $this->trans('common.label.enabled'), 'default' => 1]));
     $requiredData->addChild($this->getElement('text_field', ['name' => 'hierarchy', 'label' => $this->trans('common.label.hierarchy'), 'default' => 0]));
     $requiredData->addChild($this->getElement('select', ['name' => 'defaultOrderStatus', 'label' => $this->trans('common.label.default_order_status'), 'options' => $this->get('order_status.dataset.admin')->getResult('select'), 'transformer' => $this->getRepositoryTransformer('entity', $this->get('order_status.repository'))]));
     $shippingMethodsData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'shipping_methods_data', 'label' => $this->trans('payment_method.fieldset.shipping_methods')]));
     $shippingMethodsData->addChild($this->getElement('multi_select', ['name' => 'shippingMethods', 'label' => $this->trans('payment_method.label.shipping_methods'), 'options' => $this->get('shipping_method.dataset.admin')->getResult('select'), 'transformer' => $this->getRepositoryTransformer('collection', $this->get('shipping_method.repository'))]));
     $repository = $this->get('payment_method_configuration.repository');
     $configurationData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'configuration', 'property_path' => new PropertyPath('configuration'), 'label' => $this->trans('common.fieldset.general'), 'transformer' => $this->getRepositoryTransformer('payment_method_configuration', $repository)]));
     foreach ($processors as $processor) {
         $dependency = $this->getDependency('show', ['form' => $form, 'field' => $processorType, 'condition' => new Equals($processor->getAlias())]);
         $processor->addConfigurationFields($this, $configurationData, $dependency);
     }
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:pguso,项目名称:WellCommerce,代码行数:29,代码来源:PaymentMethodFormBuilder.php

示例2: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $form->addChild($this->getElement('text_area', ['name' => 'comment', 'rows' => 5, 'cols' => 20, 'label' => $this->trans('order.label.comment')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:wellcommerce,项目名称:wellcommerce,代码行数:10,代码来源:OrderConfirmationFormBuilder.php

示例3: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $form->addChild($this->getElement('text_field', ['name' => '_username', 'label' => $this->trans('client.label.username')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:pguso,项目名称:WellCommerce,代码行数:10,代码来源:ClientResetPasswordFormBuilder.php

示例4: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $orderStatuses = $this->get('order_status.dataset.admin')->getResult('select');
     $options = [];
     $processors = $this->getPaymentProcessorCollection();
     foreach ($processors->all() as $processor) {
         $processorName = $processor->getConfigurator()->getName();
         $options[$processorName] = $processorName;
     }
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $languageData = $requiredData->addChild($this->getElement('language_fieldset', ['name' => 'translations', 'label' => $this->trans('common.fieldset.translations'), 'transformer' => $this->getRepositoryTransformer('translation', $this->get('payment_method.repository'))]));
     $languageData->addChild($this->getElement('text_field', ['name' => 'name', 'label' => $this->trans('common.label.name'), 'rules' => [$this->getRule('required')]]));
     $processorType = $requiredData->addChild($this->getElement('select', ['name' => 'processor', 'label' => $this->trans('payment_method.label.processor'), 'options' => $options]));
     $requiredData->addChild($this->getElement('checkbox', ['name' => 'enabled', 'label' => $this->trans('common.label.enabled')]));
     $requiredData->addChild($this->getElement('text_field', ['name' => 'hierarchy', 'label' => $this->trans('common.label.hierarchy'), 'rules' => [$this->getRule('required')]]));
     $statusesData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'statuses', 'label' => $this->trans('payment_method.fieldset.order_statuses')]));
     $statusesData->addChild($this->getElement('select', ['name' => 'paymentPendingOrderStatus', 'label' => $this->trans('payment_method.label.payment_pending_order_status'), 'options' => $orderStatuses, 'transformer' => $this->getRepositoryTransformer('entity', $this->get('order_status.repository'))]));
     $statusesData->addChild($this->getElement('select', ['name' => 'paymentSuccessOrderStatus', 'label' => $this->trans('payment_method.label.payment_success_order_status'), 'options' => $orderStatuses, 'transformer' => $this->getRepositoryTransformer('entity', $this->get('order_status.repository'))]));
     $statusesData->addChild($this->getElement('select', ['name' => 'paymentFailureOrderStatus', 'label' => $this->trans('payment_method.label.payment_failure_order_status'), 'options' => $orderStatuses, 'transformer' => $this->getRepositoryTransformer('entity', $this->get('order_status.repository'))]));
     $shippingMethodsData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'shipping_methods_data', 'label' => $this->trans('payment_method.fieldset.shipping_methods')]));
     $shippingMethodsData->addChild($this->getElement('multi_select', ['name' => 'shippingMethods', 'label' => $this->trans('payment_method.label.shipping_methods'), 'options' => $this->get('shipping_method.dataset.admin')->getResult('select'), 'transformer' => $this->getRepositoryTransformer('collection', $this->get('shipping_method.repository'))]));
     $configurationData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'configuration', 'property_path' => new PropertyPath('configuration'), 'label' => $this->trans('payment_method.fieldset.processor_configuration')]));
     foreach ($processors->all() as $processor) {
         $dependency = $this->getDependency('show', ['form' => $form, 'field' => $processorType, 'condition' => new Equals($processor->getConfigurator()->getName())]);
         $processor->getConfigurator()->addConfigurationFields($this, $configurationData, $dependency);
     }
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:wellcommerce,项目名称:wellcommerce,代码行数:33,代码来源:PaymentMethodFormBuilder.php

示例5: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $countries = $this->get('country.repository')->all();
     $defaultCountry = $this->getShopStorage()->getCurrentShop()->getDefaultCountry();
     $billingAddress = $form->addChild($this->getElement('nested_fieldset', ['name' => 'billingAddress', 'label' => $this->trans('address.heading.billing_address')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.firstName', 'label' => $this->trans('common.label.first_name')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.lastName', 'label' => $this->trans('common.label.last_name')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.line1', 'label' => $this->trans('address.label.line1'), 'comment' => $this->trans('address.comment.line1')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.line2', 'label' => $this->trans('address.label.line2'), 'comment' => $this->trans('address.comment.line2')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.postalCode', 'label' => $this->trans('address.label.postal_code')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.state', 'label' => $this->trans('address.label.state')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.city', 'label' => $this->trans('address.label.city')]));
     $billingAddress->addChild($this->getElement('select', ['name' => 'billingAddress.country', 'label' => $this->trans('address.label.country'), 'options' => $countries, 'default' => $defaultCountry]));
     $shippingAddress = $form->addChild($this->getElement('nested_fieldset', ['name' => 'shippingAddress', 'label' => $this->trans('address.heading.shipping_address')]));
     $shippingAddress->addChild($this->getElement('checkbox', ['name' => 'shippingAddress.copyBillingAddress', 'label' => $this->trans('address.label.copy_address')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.firstName', 'label' => $this->trans('common.label.first_name')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.lastName', 'label' => $this->trans('common.label.last_name')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.line1', 'label' => $this->trans('address.label.line1'), 'comment' => $this->trans('address.comment.line1')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.line2', 'label' => $this->trans('address.label.line2'), 'comment' => $this->trans('address.comment.line2')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.postalCode', 'label' => $this->trans('address.label.postal_code')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.state', 'label' => $this->trans('address.label.state')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.city', 'label' => $this->trans('address.label.city')]));
     $shippingAddress->addChild($this->getElement('select', ['name' => 'shippingAddress.country', 'label' => $this->trans('address.label.country'), 'options' => $countries, 'default' => $defaultCountry]));
     $contactDetails = $form->addChild($this->getElement('nested_fieldset', ['name' => 'contactDetails', 'label' => $this->trans('address.heading.contact_details')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'contactDetails.firstName', 'label' => $this->trans('common.label.first_name')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'contactDetails.lastName', 'label' => $this->trans('common.label.last_name')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'contactDetails.phone', 'label' => $this->trans('common.label.phone')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'contactDetails.secondaryPhone', 'label' => $this->trans('common.label.secondary_phone')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'contactDetails.email', 'label' => $this->trans('common.label.email')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:wellcommerce,项目名称:wellcommerce,代码行数:36,代码来源:OrderAddressFormBuilder.php

示例6: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $countries = $this->get('country.repository')->all();
     $defaultCountry = $this->getShopStorage()->getCurrentShop()->getDefaultCountry();
     $billingAddress = $form->addChild($this->getElement('nested_fieldset', ['name' => 'billingAddress', 'label' => $this->trans('client.heading.billing_address')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.firstName', 'label' => $this->trans('client.label.address.first_name')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.lastName', 'label' => $this->trans('client.label.address.last_name')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.companyName', 'label' => $this->trans('client.label.address.company_name')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.vatId', 'label' => $this->trans('client.label.address.vat_id')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.line1', 'label' => $this->trans('client.label.address.line1')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.line2', 'label' => $this->trans('client.label.address.line2')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.postalCode', 'label' => $this->trans('client.label.address.postal_code')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.state', 'label' => $this->trans('client.label.address.state')]));
     $billingAddress->addChild($this->getElement('text_field', ['name' => 'billingAddress.city', 'label' => $this->trans('client.label.address.city')]));
     $billingAddress->addChild($this->getElement('select', ['name' => 'billingAddress.country', 'label' => $this->trans('client.label.address.country'), 'options' => $countries, 'default' => $defaultCountry]));
     $shippingAddress = $form->addChild($this->getElement('nested_fieldset', ['name' => 'shippingAddress', 'label' => $this->trans('client.heading.shipping_address')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.firstName', 'label' => $this->trans('client.label.address.first_name')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.lastName', 'label' => $this->trans('client.label.address.last_name')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.line1', 'label' => $this->trans('client.label.address.line1')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.line2', 'label' => $this->trans('client.label.address.line2')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.postalCode', 'label' => $this->trans('client.label.address.postal_code')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.province', 'label' => $this->trans('client.label.address.province')]));
     $shippingAddress->addChild($this->getElement('text_field', ['name' => 'shippingAddress.city', 'label' => $this->trans('client.label.address.city')]));
     $shippingAddress->addChild($this->getElement('select', ['name' => 'shippingAddress.country', 'label' => $this->trans('client.label.address.country'), 'options' => $countries, 'default' => $defaultCountry]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:WellCommerce,项目名称:ClientBundle,代码行数:31,代码来源:ClientAddressBookFormBuilder.php

示例7: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $contactDetails = $form->addChild($this->getElement('nested_fieldset', ['name' => 'clientDetails', 'label' => $this->trans('client.heading.client_details')]));
     $contactDetails->addChild($this->getElement('text_field', ['name' => 'clientDetails.password', 'label' => $this->trans('client.label.new_password')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:Newman101,项目名称:WellCommerce,代码行数:11,代码来源:ClientChangePasswordFormBuilder.php

示例8: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $requiredData->addChild($this->getElement('select', ['name' => 'code', 'label' => $this->trans('currency.label.code'), 'options' => $this->repository->getCurrenciesToSelect()]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:Newman101,项目名称:WellCommerce,代码行数:11,代码来源:CurrencyFormBuilder.php

示例9: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $requiredData = $form->addChild($this->getElement('fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $requiredData->addChild($this->getElement('image', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general'), 'datagrid' => $this->get('media.datagrid')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:pguso,项目名称:WellCommerce,代码行数:11,代码来源:MediaFormBuilder.php

示例10: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $form->addChild($this->getElement('text_field', ['name' => 'username', 'label' => $this->trans('user.label.username'), 'rules' => [$this->getRule('required')]]));
     $form->addChild($this->getElement('submit', ['name' => 'reset_password', 'label' => $this->trans('user.button.reset_password')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:Newman101,项目名称:WellCommerce,代码行数:11,代码来源:UserResetPasswordFormBuilder.php

示例11: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $requiredData->addChild($this->getElement('select', ['name' => 'code', 'label' => $this->trans('locale.label.code'), 'options' => $this->get('locale.repository')->getLocaleNames()]));
     $requiredData->addChild($this->getElement('select', ['name' => 'currency', 'label' => $this->trans('locale.label.currency'), 'options' => $this->get('currency.dataset.admin')->getResult('select', [], ['label_column' => 'code']), 'transformer' => $this->getRepositoryTransformer('entity', $this->get('currency.repository'))]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:Newman101,项目名称:WellCommerce,代码行数:12,代码来源:LocaleFormBuilder.php

示例12: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $requiredData->addChild($this->getElement('text_field', ['name' => 'name', 'label' => $this->trans('common.label.name'), 'rules' => [$this->getRule('required')]]));
     $requiredData->addChild($this->getElement('select', ['name' => 'folder', 'label' => $this->trans('theme.label.folder'), 'comment' => $this->trans('theme.comment.folder'), 'options' => $this->get('theme.locator')->getThemeFolders()]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:wellcommerce,项目名称:wellcommerce,代码行数:12,代码来源:ThemeFormBuilder.php

示例13: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $form->addChild($this->getElement('text_field', ['name' => 'email', 'label' => $this->trans('contact_ticket.label.email')]));
     $form->addChild($this->getElement('text_field', ['name' => 'subject', 'label' => $this->trans('contact_ticket.label.subject')]));
     $form->addChild($this->getElement('text_area', ['name' => 'content', 'label' => $this->trans('contact_ticket.label.content'), 'rows' => 5, 'cols' => 10]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:WellCommerce,项目名称:ContactBundle,代码行数:12,代码来源:ContactFormBuilder.php

示例14: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $form)
 {
     $requiredData = $form->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $requiredData->addChild($this->getElement('select', ['name' => 'code', 'label' => $this->trans('currency.label.code'), 'options' => $this->getCurrencyRepository()->getCurrenciesToSelect(), 'default' => $this->getRequestHelper()->getCurrentCurrency()]));
     $requiredData->addChild($this->getElement('checkbox', ['name' => 'enabled', 'label' => $this->trans('common.label.enabled'), 'comment' => $this->trans('currency.comment.enabled')]));
     $form->addFilter($this->getFilter('no_code'));
     $form->addFilter($this->getFilter('trim'));
     $form->addFilter($this->getFilter('secure'));
 }
开发者ID:WellCommerce,项目名称:CurrencyBundle,代码行数:12,代码来源:CurrencyFormBuilder.php

示例15: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(FormInterface $unitForm)
 {
     $unitRequiredData = $unitForm->addChild($this->getElement('nested_fieldset', ['name' => 'required_data', 'label' => $this->trans('common.fieldset.general')]));
     $unitTranslationData = $unitRequiredData->addChild($this->getElement('language_fieldset', ['name' => 'translations', 'label' => $this->trans('form.fieldset.translations'), 'transformer' => $this->getRepositoryTransformer('translation', $this->get('product.repository'))]));
     $unitTranslationData->addChild($this->getElement('text_field', ['name' => 'name', 'label' => $this->trans('common.label.name')]));
     $unitForm->addFilter($this->getFilter('no_code'));
     $unitForm->addFilter($this->getFilter('trim'));
     $unitForm->addFilter($this->getFilter('secure'));
 }
开发者ID:pguso,项目名称:WellCommerce,代码行数:12,代码来源:UnitFormBuilder.php


注:本文中的WellCommerce\Component\Form\Elements\FormInterface::addFilter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。