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


PHP Core::getRegisteredFormsForModelObjectClasses方法代码示例

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


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

示例1: processData

 /**
  * @return void
  */
 public function processData()
 {
     $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
     /** @var FluxService $fluxService */
     $fluxService = $objectManager->get('FluidTYPO3\\Flux\\Service\\FluxService');
     $fluxService->initializeObject();
     /** @var DataMapFactory $dataMapFactory */
     $dataMapFactory = $objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Mapper\\DataMapFactory');
     $forms = Core::getRegisteredFormsForTables();
     $models = Core::getRegisteredFormsForModelObjectClasses();
     foreach ($forms as $fullTableName => $form) {
         $this->processFormForTable($fullTableName, $form);
     }
     foreach ($models as $modelClassName => $form) {
         $map = $dataMapFactory->buildDataMap($modelClassName);
         $fullTableName = $map->getTableName();
         if (NULL === $form) {
             $form = $this->generateFormInstanceFromClassName($modelClassName, $fullTableName);
         }
         if (NULL === $form->getName()) {
             $form->setName($fullTableName);
         }
         $this->processFormForTable($fullTableName, $form);
     }
 }
开发者ID:chrmue01,项目名称:typo3-starter-kit,代码行数:28,代码来源:TableConfigurationPostProcessor.php

示例2: processData

 /**
  * @return void
  */
 public function processData()
 {
     if (TYPO3_REQUESTTYPE_INSTALL !== (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
         $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
         $objectManager->get('FluidTYPO3\\Flux\\Provider\\ProviderResolver')->loadTypoScriptConfigurationProviderInstances();
         $forms = Core::getRegisteredFormsForTables();
         $models = Core::getRegisteredFormsForModelObjectClasses();
         $packages = array_keys(Core::getRegisteredPackagesForAutoForms());
         foreach ($packages as $packageName) {
             list($vendorName, $extensionName) = explode('.', $packageName);
             $namespace = $vendorName . '\\' . $extensionName . '\\Domain\\';
             $extensionKey = ExtensionNamingUtility::getExtensionKey($packageName);
             $folder = ExtensionManagementUtility::extPath($extensionKey, 'Classes/Domain/Form/');
             $files = glob($folder . '*Form.php');
             $files = FALSE === $files ? array() : $files;
             foreach ($files as $fileName) {
                 $basename = pathinfo($fileName, PATHINFO_FILENAME);
                 $formClassName = $namespace . 'Form\\' . $basename;
                 $modelClassName = $namespace . 'Model\\' . substr($basename, 0, -4);
                 $fullTableName = $this->resolveTableName($modelClassName);
                 $models[$modelClassName] = $formClassName::create();
                 $models[$modelClassName]->setName($fullTableName);
                 $models[$modelClassName]->setExtensionName($packageName);
             }
         }
         foreach ($forms as $fullTableName => $form) {
             $this->processFormForTable($fullTableName, $form);
         }
         foreach ($models as $modelClassName => $form) {
             $fullTableName = $this->resolveTableName($modelClassName);
             if (NULL === $form) {
                 $form = $this->generateFormInstanceFromClassName($modelClassName, $fullTableName);
             }
             if (NULL === $form->getName()) {
                 $form->setName($fullTableName);
             }
             $this->processFormForTable($fullTableName, $form);
         }
     }
 }
开发者ID:samuweiss,项目名称:TYPO3-Site,代码行数:43,代码来源:TableConfigurationPostProcessor.php

示例3: canGetRegisteredFormsForModelClassNames

 /**
  * @test
  */
 public function canGetRegisteredFormsForModelClassNames()
 {
     $fakeClass = 'MyFakeClass';
     $form = Form::create();
     Core::registerFormForModelObjectClassName($fakeClass, $form);
     $this->assertSame($form, Core::getRegisteredFormForModelObjectClass($fakeClass));
     $this->assertContains($form, Core::getRegisteredFormsForModelObjectClasses());
     Core::unregisterFormForModelObjectClassName($fakeClass);
 }
开发者ID:samuweiss,项目名称:TYPO3-Site,代码行数:12,代码来源:CoreTest.php

示例4: resolveDomainFormClassInstancesFromPackages

 /**
  * Resolves a list (array) of instances of Form implementations
  * from the provided package names, or all package names if empty.
  *
  * @param array $packageNames
  * @return Form[]
  */
 public function resolveDomainFormClassInstancesFromPackages(array $packageNames = NULL)
 {
     $packageNames = NULL === $packageNames ? Core::getRegisteredPackagesForAutoForms() : $packageNames;
     $models = (array) Core::getRegisteredFormsForModelObjectClasses();
     foreach ($packageNames as $packageName) {
         $classNames = $this->resolveClassNamesInPackageSubNamespace($packageName, 'Domain/Form', 'Form');
         foreach ($classNames as $formClassName) {
             // convert form class name to model class name by convention
             $modelClassName = str_replace('\\Domain\\Form\\', '\\Domain\\Model\\', $formClassName);
             $modelClassName = substr($modelClassName, 0, -4);
             $fullTableName = $this->resolveDatabaseTableName($modelClassName);
             $models[$modelClassName] = $formClassName::create();
             $models[$modelClassName]->setName($fullTableName);
             $models[$modelClassName]->setExtensionName($packageName);
         }
     }
     return $models;
 }
开发者ID:busynoggin,项目名称:flux,代码行数:25,代码来源:Resolver.php


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