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


PHP Column::getPhpDefaultValue方法代码示例

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


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

示例1: getDefaultValueString

 /**
  * Returns the type-casted and stringified default value for the specified
  * Column. This only works for scalar default values currently.
  *
  * @param  Column          $column
  * @throws EngineException
  * @return string
  */
 protected function getDefaultValueString(Column $column)
 {
     $defaultValue = var_export(null, true);
     $val = $column->getPhpDefaultValue();
     if (null === $val) {
         return $defaultValue;
     }
     if ($column->isTemporalType()) {
         $fmt = $this->getTemporalFormatter($column);
         try {
             if (!($this->getPlatform() instanceof MysqlPlatform && ($val === '0000-00-00 00:00:00' || $val === '0000-00-00'))) {
                 // while technically this is not a default value of NULL,
                 // this seems to be closest in meaning.
                 $defDt = new \DateTime($val);
                 $defaultValue = var_export($defDt->format($fmt), true);
             }
         } catch (\Exception $exception) {
             // prevent endless loop when timezone is undefined
             date_default_timezone_set('America/Los_Angeles');
             throw new EngineException(sprintf('Unable to parse default temporal value "%s" for column "%s"', $column->getDefaultValueString(), $column->getFullyQualifiedName()), 0, $exception);
         }
     } elseif ($column->isEnumType()) {
         $valueSet = $column->getValueSet();
         if (!in_array($val, $valueSet)) {
             throw new EngineException(sprintf('Default Value "%s" is not among the enumerated values', $val));
         }
         $defaultValue = array_search($val, $valueSet);
     } elseif ($column->isSetType()) {
         $defaultValue = SetColumnConverter::convertToInt($val, $column->getValueSet());
     } elseif ($column->isPhpPrimitiveType()) {
         settype($val, $column->getPhpType());
         $defaultValue = var_export($val, true);
     } elseif ($column->isPhpObjectType()) {
         $defaultValue = 'new ' . $column->getPhpType() . '(' . var_export($val, true) . ')';
     } elseif ($column->isPhpArrayType()) {
         $defaultValue = var_export($val, true);
     } else {
         throw new EngineException("Cannot get default value string for " . $column->getFullyQualifiedName());
     }
     return $defaultValue;
 }
开发者ID:SwissalpS,项目名称:Propel2,代码行数:49,代码来源:ObjectBuilder.php

示例2: testGetPhpDefaultValue

 public function testGetPhpDefaultValue()
 {
     $domain = $this->getDomainMock();
     $domain->expects($this->once())->method('getPhpDefaultValue')->will($this->returnValue(true));
     $column = new Column();
     $column->setDomain($domain);
     $this->assertTrue($column->getPhpDefaultValue());
 }
开发者ID:dracony,项目名称:forked-php-orm-benchmark,代码行数:8,代码来源:ColumnTest.php


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