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


PHP Inflector::underscore方法代码示例

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


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

示例1: getAttributeOrders

 /**
  * Returns the currently requested sort information.
  * @param boolean $recalculate whether to recalculate the sort directions
  * @return array sort directions indexed by attribute names.
  * Sort direction can be either `SORT_ASC` for ascending order or
  * `SORT_DESC` for descending order.
  */
 public function getAttributeOrders($recalculate = false)
 {
     if ($this->_attributeOrders === null || $recalculate) {
         $this->_attributeOrders = [];
         if (($params = $this->params) === null) {
             $request = Yii::$app->getRequest();
             $params = $request instanceof Request ? $request->getQueryParams() : [];
         }
         if (isset($params[$this->sortParam]) && is_scalar($params[$this->sortParam])) {
             $attributes = explode($this->separator, $params[$this->sortParam]);
             foreach ($attributes as $attribute) {
                 $descending = false;
                 if (strncmp($attribute, '-', 1) === 0) {
                     $descending = true;
                     $attribute = substr($attribute, 1);
                 }
                 $attribute = Inflector::underscore($attribute);
                 if (isset($this->attributes[$attribute])) {
                     $this->_attributeOrders[$attribute] = $descending ? SORT_DESC : SORT_ASC;
                     if (!$this->enableMultiSort) {
                         return $this->_attributeOrders;
                     }
                 }
             }
         }
         if (empty($this->_attributeOrders) && is_array($this->defaultOrder)) {
             $this->_attributeOrders = $this->defaultOrder;
         }
     }
     return $this->_attributeOrders;
 }
开发者ID:portalsway2,项目名称:APEDevices,代码行数:38,代码来源:Sort.php

示例2: init

 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     $inputName = explode('_', $this->attribute);
     if (count($inputName) > 1) {
         $inputName[0] = $inputName[1];
     }
     $this->inputOptions = array_merge(['data-braintree-name' => \yii\helpers\Inflector::underscore($inputName[0]), 'autocomplete' => 'off'], $this->inputOptions);
 }
开发者ID:skamnev,项目名称:members,代码行数:12,代码来源:ActiveField.php

示例3: composeContextOptions

 /**
  * Composes stream context options from raw request options.
  * @param array $options raw request options.
  * @return array stream context options.
  */
 private function composeContextOptions(array $options)
 {
     $contextOptions = [];
     foreach ($options as $key => $value) {
         $section = 'http';
         if (strpos($key, 'ssl') === 0) {
             $section = 'ssl';
             $key = substr($key, 3);
         }
         $key = Inflector::underscore($key);
         $contextOptions[$section][$key] = $value;
     }
     return $contextOptions;
 }
开发者ID:hassiumsoft,项目名称:hasscms-app-vendor,代码行数:19,代码来源:StreamTransport.php

示例4: variablize

 /**
  * Converts the public variables to js configuration variables
  * @return string
  */
 protected function variablize()
 {
     $vars = [];
     $class = new \ReflectionClass(Widget::className());
     foreach ($class->getProperties(\ReflectionProperty::IS_PUBLIC) as $property) {
         if (!$property->isStatic()) {
             $name = $property->getName();
             if (!empty($this->{$name})) {
                 $vars[] = 'var hc_' . Inflector::underscore($name) . '=' . ($name == 'disableMobile' ? $this->{$name} : '"' . $this->{$name} . '"') . ';';
             }
         }
     }
     return implode("\n\t", $vars);
 }
开发者ID:klxdr,项目名称:yii2-hc-widget,代码行数:18,代码来源:Widget.php

示例5: setAttributes

 /**
  * Sets the attribute values in a massive way.
  * @param array $values attribute values (name => value) to be assigned to the model.
  * @param boolean $safeOnly whether the assignments should only be done to the safe attributes.
  * A safe attribute is one that is associated with a validation rule in the current [[scenario]].
  * @see safeAttributes()
  * @see attributes()
  */
 public function setAttributes($values, $safeOnly = true)
 {
     if (is_array($values)) {
         $attributes = array_flip($safeOnly ? $this->safeAttributes() : $this->attributes());
         foreach ($values as $name => $value) {
             $fieldName = Inflector::underscore($name);
             if (isset($attributes[$fieldName])) {
                 $this->{$fieldName} = $value;
             } elseif (array_key_exists($name, $this->getModelRelations())) {
                 $this->populateRelation($name, $value);
             } elseif ($safeOnly) {
                 $this->onUnsafeAttribute($name, $value);
             }
         }
     }
 }
开发者ID:portalsway2,项目名称:APEDevices,代码行数:24,代码来源:Model.php

示例6: toOptions

 /**
  * Converts the model into an options array.
  * @return array the array representation of the object
  */
 public function toOptions()
 {
     $options = [];
     foreach ($this as $prop => $value) {
         $key = strpos($prop, "on") !== 0 ? Inflector::underscore($prop) : $prop;
         if ($value instanceof Optionable) {
             $value = $value->toOptions();
         } elseif (is_array($value)) {
             foreach ($value as $k => $v) {
                 if ($v instanceof Optionable) {
                     $value[$k] = $v->toOptions();
                 }
             }
         }
         if (!is_array($value) && $value !== null || !empty($value)) {
             $options[$key] = $value;
         }
     }
     return $options;
 }
开发者ID:henryfinasmart,项目名称:yii2-querybuilder,代码行数:24,代码来源:OptionTrait.php

示例7: getId

 /**
  * Get ID interface
  * @return string
  */
 public function getId()
 {
     if ($this->id === null) {
         $this->setId(Inflector::underscore((new \ReflectionClass(__CLASS__))->getShortName()) . '-' . Inflector::underscore(Inflector::id2camel(Yii::$app->controller->action->getUniqueId(), '/')) . ($this->isUniqueId() ? '-' . uniqid() : ''));
     }
     return $this->id;
 }
开发者ID:kalibao,项目名称:kalibao-framework,代码行数:11,代码来源:Translate.php

示例8: actionCreate

    public function actionCreate()
    {
        $module = $this->prompt('Module Name (e.g. galleryadmin):');
        $modulePre = $new_str = preg_replace('/admin$/', '', $module);
        $modelName = $this->prompt('Model Name (e.g. Album)');
        $apiEndpoint = $this->prompt('Api Endpoint (e.g. api-' . $modulePre . '-' . strtolower($modelName) . ')');
        $sqlTable = $this->prompt('Database Table name (e.g. ' . strtolower($modulePre) . '_' . Inflector::underscore($modelName) . ')');
        if (!$this->confirm("Create '{$modelName}' controller, api & model based on sql table '{$sqlTable}' in module '{$module}' for api endpoint '{$apiEndpoint}'?")) {
            return $this->outputError('Crud creation aborted.');
        }
        $shema = Yii::$app->db->getTableSchema($sqlTable);
        if (!$shema) {
            return $this->outputError("Could not read informations from database table '{$sqlTable}', table does not exist.");
        }
        $yiiModule = Yii::$app->getModule($module);
        $basePath = $yiiModule->basePath;
        $ns = $yiiModule->getNamespace();
        $modelName = ucfirst($modelName);
        $fileName = ucfirst(strtolower($modelName));
        $modelNs = '\\' . $ns . '\\models\\' . $modelName;
        $data = ['api' => ['folder' => 'apis', 'ns' => $ns . '\\apis', 'file' => $fileName . 'Controller.php', 'class' => $fileName . 'Controller', 'route' => strtolower($module) . '-' . strtolower($modelName) . '-index'], 'controller' => ['folder' => 'controllers', 'ns' => $ns . '\\controllers', 'file' => $fileName . 'Controller.php', 'class' => $fileName . 'Controller'], 'model' => ['folder' => 'models', 'ns' => $ns . '\\models', 'file' => $modelName . '.php', 'class' => $modelName]];
        $apiClass = null;
        foreach ($data as $name => $item) {
            $folder = $basePath . DIRECTORY_SEPARATOR . $item['folder'];
            if (!file_exists($folder)) {
                mkdir($folder);
            }
            if (file_exists($folder . DIRECTORY_SEPARATOR . $item['file'])) {
                echo $this->ansiFormat("Can not create {$folder}" . DIRECTORY_SEPARATOR . $item['file'] . ', file does already exists!', Console::FG_RED) . PHP_EOL;
            } else {
                $content = '<?php' . PHP_EOL . PHP_EOL;
                $content .= 'namespace ' . $item['ns'] . ';' . PHP_EOL . PHP_EOL;
                switch ($name) {
                    case 'api':
                        $content .= 'class ' . $item['class'] . ' extends \\admin\\ngrest\\base\\Api' . PHP_EOL;
                        $content .= '{' . PHP_EOL;
                        $content .= '    public $modelClass = \'' . $modelNs . '\';' . PHP_EOL;
                        $content .= '}';
                        break;
                    case 'controller':
                        $content .= 'class ' . $item['class'] . ' extends \\admin\\ngrest\\base\\Controller' . PHP_EOL;
                        $content .= '{' . PHP_EOL;
                        $content .= '    public $modelClass = \'' . $modelNs . '\';' . PHP_EOL;
                        $content .= '}';
                        break;
                    case 'model':
                        $names = [];
                        $allfields = [];
                        $ngrest = ['text' => [], 'textarea' => []];
                        foreach ($shema->columns as $k => $v) {
                            $allfields[] = $v->name;
                            if ($v->phpType == 'string') {
                                $names[] = $v->name;
                                if ($v->type == 'text') {
                                    $ngrest['textarea'][] = $v->name;
                                }
                                if ($v->type == 'string') {
                                    $ngrest['text'][] = $v->name;
                                }
                            }
                        }
                        $content .= 'class ' . $item['class'] . ' extends \\admin\\ngrest\\base\\Model' . PHP_EOL;
                        $content .= '{' . PHP_EOL;
                        $content .= '    /* yii model properties */' . PHP_EOL . PHP_EOL;
                        $content .= '    public static function tableName()' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        $content .= '        return \'' . $sqlTable . '\';' . PHP_EOL;
                        $content .= '    }' . PHP_EOL . PHP_EOL;
                        $content .= '    public function rules()' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        $content .= '        return [' . PHP_EOL;
                        $content .= '            [[\'' . implode("', '", $names) . '\'], \'required\'],' . PHP_EOL;
                        $content .= '        ];' . PHP_EOL;
                        $content .= '    }' . PHP_EOL . PHP_EOL;
                        $content .= '    public function scenarios()' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        $content .= '        return [' . PHP_EOL;
                        $content .= '            \'restcreate\' => [\'' . implode("', '", $allfields) . '\'],' . PHP_EOL;
                        $content .= '            \'restupdate\' => [\'' . implode("', '", $allfields) . '\'],' . PHP_EOL;
                        $content .= '        ];' . PHP_EOL;
                        $content .= '    }' . PHP_EOL . PHP_EOL;
                        $content .= '    /* ngrest model properties */' . PHP_EOL . PHP_EOL;
                        $content .= '    public function genericSearchFields()' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        $content .= '        return [\'' . implode("', '", $names) . '\'];' . PHP_EOL;
                        $content .= '    }' . PHP_EOL . PHP_EOL;
                        $content .= '    public function ngRestApiEndpoint()' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        $content .= '        return \'' . $apiEndpoint . '\';' . PHP_EOL;
                        $content .= '    }' . PHP_EOL . PHP_EOL;
                        $content .= '    public function ngRestConfig($config)' . PHP_EOL;
                        $content .= '    {' . PHP_EOL;
                        foreach ($ngrest['text'] as $n) {
                            $content .= '        $config->list->field(\'' . $n . '\', \'' . Inflector::humanize($n) . '\')->text();' . PHP_EOL;
                        }
                        foreach ($ngrest['textarea'] as $n) {
                            $content .= '        $config->list->field(\'' . $n . '\', \'' . Inflector::humanize($n) . '\')->textarea();' . PHP_EOL;
                        }
                        $content .= '        $config->create->copyFrom(\'list\');' . PHP_EOL;
                        $content .= '        $config->update->copyFrom(\'list\');' . PHP_EOL;
//.........这里部分代码省略.........
开发者ID:gitter-badger,项目名称:luya,代码行数:101,代码来源:CrudController.php

示例9: testUnderscore

 public function testUnderscore()
 {
     $this->assertEquals("me_my_self_and_i", Inflector::underscore('MeMySelfAndI'));
 }
开发者ID:howq,项目名称:yii2,代码行数:4,代码来源:InflectorTest.php

示例10: init

 public function init()
 {
     parent::init();
     // Prepare Filename
     $this->filename = Inflector::underscore(Tools::className($this)) . '_' . date('Y-m-d');
 }
开发者ID:vsguts,项目名称:crm,代码行数:6,代码来源:AbstractExport.php

示例11: actionDownload

 public function actionDownload($id)
 {
     $model = $this->findModel($id);
     header("Content-type: text/plain");
     header("Content-Disposition: attachment; filename=" . \yii\helpers\Inflector::underscore($model->title) . ".txt");
     print $model->content;
 }
开发者ID:hscstudio,项目名称:psiaga,代码行数:7,代码来源:NoteController.php

示例12: routingKey

 /**
  * Returns the routing key of message (or it can be a queue name)
  * By default this method generate routing key based on the class name.
  * Example: class 'TestReasonMessage' --> routing key 'mq_test_reason'
  * @return string
  */
 public function routingKey()
 {
     return 'mq_' . Inflector::underscore(str_replace('Message', '', StringHelper::basename(get_class($this))));
 }
开发者ID:strong2much,项目名称:yii2-queue,代码行数:10,代码来源:Message.php

示例13: generate

 /**
  * @inheritdoc
  */
 public function generate()
 {
     $files = [];
     if (preg_match('~^((?:\\w+\\\\)*\\w+)\\\\(\\w+|\\*)$~', $this->modelClass, $match)) {
         $pattern = Yii::getAlias('@' . str_replace('\\', '/', $match[1])) . '/' . $match[2] . '.php';
         foreach (glob($pattern) as $filename) {
             $ns = $match[1];
             $modelName = basename($filename, '.php');
             /* @var $modelClass string|\yii\boost\db\ActiveRecord */
             $modelClass = $ns . '\\' . $modelName;
             $fixtureNs = $this->fixtureNs;
             $fixtureName = $modelName;
             $fixtureClass = $fixtureNs . '\\' . $fixtureName;
             $baseFixtureName = preg_replace('~^(?:\\w+\\\\)*\\w+\\\\(\\w+)$~', '$1', $this->fixtureBaseClass);
             $baseFixtureClass = $this->fixtureBaseClass;
             $dataFile = $this->dataPath . '/' . Inflector::underscore($modelName) . '.php';
             /* @var $tableSchema \yii\gii\plus\db\TableSchema */
             $tableSchema = $modelClass::getTableSchema();
             $params = ['ns' => $ns, 'modelName' => $modelName, 'modelClass' => $modelClass, 'fixtureNs' => $fixtureNs, 'fixtureName' => $fixtureName, 'fixtureClass' => $fixtureClass, 'baseFixtureName' => $baseFixtureName, 'baseFixtureClass' => $baseFixtureClass, 'dataFile' => $dataFile, 'tableSchema' => $tableSchema];
             if (!$tableSchema->isView && !$tableSchema->isStatic) {
                 // fixture
                 $path = Yii::getAlias('@' . str_replace('\\', '/', $fixtureNs)) . '/' . $fixtureName . '.php';
                 $files[] = new CodeFile($path, $this->render('fixture.php', $params));
                 // data-file
                 if ($this->generateDataFile) {
                     $path = Yii::getAlias($dataFile);
                     $files[] = new CodeFile($path, $this->render('data-file.php', $params));
                 }
             }
         }
     }
     return $files;
 }
开发者ID:ivan-chkv,项目名称:yii2-gii-plus,代码行数:36,代码来源:Generator.php

示例14: getDatabaseNameSuggestion

 /**
  * Generate a suggestion for the database table name.
  *
  * @return string The database table suggestion.
  */
 public function getDatabaseNameSuggestion()
 {
     return strtolower($this->getModuleNameWithoutAdminSuffix() . '_' . Inflector::underscore($this->modelName));
 }
开发者ID:luyadev,项目名称:luya-core,代码行数:9,代码来源:CrudController.php


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