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


PHP StringHelper::basename方法代码示例

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


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

示例1: upload

 public function upload($attribute)
 {
     $class = \yii\helpers\StringHelper::basename(get_class($this->owner)) . 'Cutter';
     if ($uploadImage = UploadedFile::getInstance($this->owner, $attribute)) {
         if (!$this->owner->isNewRecord) {
             $this->delete($attribute);
         }
         $cropping = $_POST[$class][$attribute . '-cropping'];
         $croppingFileName = md5($uploadImage->name . $this->quality . Json::encode($cropping));
         $croppingFileExt = strrchr($uploadImage->name, '.');
         $croppingFileDir = substr($croppingFileName, 0, 2);
         $croppingFileBasePath = Yii::getAlias($this->basePath) . $this->baseDir;
         if (!is_dir($croppingFileBasePath)) {
             mkdir($croppingFileBasePath, 0755, true);
         }
         $croppingFilePath = Yii::getAlias($this->basePath) . $this->baseDir . DIRECTORY_SEPARATOR . $croppingFileDir;
         if (!is_dir($croppingFilePath)) {
             mkdir($croppingFilePath, 0755, true);
         }
         $fileSavePath = $croppingFilePath . DIRECTORY_SEPARATOR . $croppingFileName . $croppingFileExt;
         $point = new Point($cropping['dataX'], $cropping['dataY']);
         $box = new Box($cropping['dataWidth'], $cropping['dataHeight']);
         $palette = new \Imagine\Image\Palette\RGB();
         $color = $palette->color('fff', 0);
         Image::frame($uploadImage->tempName, 0, 'fff', 0)->rotate($cropping['dataRotate'], $color)->crop($point, $box)->save($fileSavePath, ['quality' => $this->quality]);
         $this->owner->{$attribute} = $this->baseDir . DIRECTORY_SEPARATOR . $croppingFileDir . DIRECTORY_SEPARATOR . $croppingFileName . $croppingFileExt;
     } elseif (isset($_POST[$class][$attribute . '-remove']) && $_POST[$class][$attribute . '-remove']) {
         $this->delete($attribute);
     } elseif (!empty($_POST[$class][$attribute])) {
         $this->owner->{$attribute} = $_POST[$class][$attribute];
     } elseif (isset($this->owner->oldAttributes[$attribute])) {
         $this->owner->{$attribute} = $this->owner->oldAttributes[$attribute];
     }
 }
开发者ID:sadovojav,项目名称:yii2-image-cutter,代码行数:34,代码来源:CutterBehavior.php

示例2: bOrderAttr

 public static function bOrderAttr()
 {
     if (is_null(static::$b_order_attr)) {
         static::$b_order_attr = Inflector::camel2id(StringHelper::basename(static::bClass()), '_') . '_ord';
     }
     return static::$b_order_attr;
 }
开发者ID:omidonix,项目名称:yii2-sortable-behavior,代码行数:7,代码来源:PivotRecord.php

示例3: run

 public function run()
 {
     if (is_null($this->imageOptions)) {
         $this->imageOptions = ['class' => 'img-responsive'];
     }
     $this->imageOptions['id'] = Yii::$app->getSecurity()->generateRandomString(10);
     $inputField = Html::getInputId($this->model, $this->attribute);
     $class = \yii\helpers\StringHelper::basename(get_class($this->model)) . 'Cutter';
     echo Html::beginTag('div', ['class' => 'image-cutter', 'id' => $inputField . '-cutter']);
     echo Html::activeFileInput($this->model, $this->attribute);
     echo Html::hiddenInput($class . '[' . $this->attribute . ']', $this->model->{$this->attribute});
     $previewImage = Html::beginTag('div', ['class' => 'img-container']);
     $previewImage .= Html::tag('span', '', ['class' => 'helper']);
     $previewImage .= Html::tag('span', Yii::t('sadovojav/cutter/cutter', 'Click to upload image'), ['class' => 'message']);
     $previewImage .= Html::img($this->model->{$this->attribute} ? $this->model->{$this->attribute} : null, ['class' => 'preview-image']);
     $previewImage .= Html::endTag('div');
     echo Html::label($previewImage, Html::getInputId($this->model, $this->attribute), ['class' => 'dropzone']);
     echo Html::checkbox($class . '[' . $this->attribute . '-remove]', false, ['label' => Yii::t('sadovojav/cutter/cutter', 'Remove')]);
     Modal::begin(['header' => Html::tag('h4', Yii::t('sadovojav/cutter/cutter', 'Cutter'), ['class' => 'modal-title']), 'closeButton' => false, 'footer' => $this->getModalFooter($inputField), 'size' => Modal::SIZE_LARGE]);
     echo Html::beginTag('div', ['class' => 'image-container']);
     echo Html::img(null, $this->imageOptions);
     echo Html::endTag('div');
     echo Html::tag('br');
     echo Html::beginTag('div', ['class' => 'row']);
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Aspect ratio'), $inputField . '-aspectRatio');
     echo Html::textInput($class . '[' . $this->attribute . '-aspectRatio]', isset($this->cropperOptions['aspectRatio']) ? $this->cropperOptions['aspectRatio'] : 0, ['id' => $inputField . '-aspectRatio', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Angle'), $inputField . '-dataRotate');
     echo Html::textInput($class . '[' . $this->attribute . '-cropping][dataRotate]', '', ['id' => $inputField . '-dataRotate', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Position') . ' (x)', $inputField . '-dataX');
     echo Html::textInput($class . '[' . $this->attribute . '-cropping][dataX]', '', ['id' => $inputField . '-dataX', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Position') . ' (y)', $inputField . '-dataY');
     echo Html::textInput($class . '[' . $this->attribute . '-cropping][dataY]', '', ['id' => $inputField . '-dataY', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Width'), $inputField . '-dataWidth');
     echo Html::textInput($class . '[' . $this->attribute . '-cropping][dataWidth]', '', ['id' => $inputField . '-dataWidth', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::beginTag('div', ['class' => 'col-md-2']);
     echo Html::label(Yii::t('sadovojav/cutter/cutter', 'Height'), $inputField . '-dataHeight');
     echo Html::textInput($class . '[' . $this->attribute . '-cropping][dataHeight]', '', ['id' => $inputField . '-dataHeight', 'class' => 'form-control']);
     echo Html::endTag('div');
     echo Html::endTag('div');
     Modal::end();
     echo Html::endTag('div');
     $options = ['inputField' => $inputField, 'useWindowHeight' => $this->useWindowHeight, 'cropperOptions' => $this->cropperOptions];
     $options = Json::encode($options);
     $this->view->registerJs('jQuery("#' . $inputField . '").cutter(' . $options . ');');
 }
开发者ID:sadovojav,项目名称:yii2-image-cutter,代码行数:55,代码来源:Cutter.php

示例4: run

 /**
  * Unlinks two or more models by provided primary key or a list of primary keys.
  * If the relation type is a many_to_many. related row in the junction table will be deleted.
  * Otherwise related foreign key will be simply set to NULL.
  * A '204' response should be set to headers if any change has been made.
  * @param string $IDs should hold the list of IDs related to the models to be unlinken from the relative one.
  * it must be a string of the primary keys values separated by commas.
  * @throws BadRequestHttpException if any of the models are not linked.
  * @throws InvalidCallException if the models cannot be unlinked
  */
 public function run($IDs)
 {
     $relModel = $this->getRelativeModel();
     $modelClass = $this->modelClass;
     $pk = $modelClass::primaryKey()[0];
     $getter = 'get' . $this->relationName;
     $ids = preg_split('/\\s*,\\s*/', $IDs, -1, PREG_SPLIT_NO_EMPTY);
     $to_unlink = [];
     foreach ($ids as $pk_value) {
         $linked = $relModel->{$getter}()->where([$pk => $pk_value])->exists();
         if ($linked === true) {
             $to_unlink[] = $this->findModel($pk_value);
         } else {
             throw new BadRequestHttpException(StringHelper::basename($modelClass) . " '{$pk_value}' not linked to " . StringHelper::basename($this->relativeClass) . " '{$this->relative_id}'.");
         }
     }
     $relType = $relModel->getRelation($this->relationName);
     $delete = $relType->multiple === true && $relType->via !== null;
     foreach ($to_unlink as $model) {
         if ($this->checkAccess) {
             call_user_func($this->checkAccess, $this->id, $model);
         }
         $relModel->unlink($this->relationName, $model, $delete);
     }
     Yii::$app->getResponse()->setStatusCode(204);
 }
开发者ID:tunecino,项目名称:yii2-nested-rest,代码行数:36,代码来源:UnlinkAction.php

示例5: tableName

 /**
  * @inheritdoc
  */
 public static function tableName()
 {
     $name = Inflector::camel2id(StringHelper::basename(get_called_class()), '_');
     $length = mb_strlen($name, \Yii::$app->charset) - 7;
     // - mb_strlen('_record', Yii::$app->charset);
     return '{{%' . trim(mb_substr($name, 0, $length, \Yii::$app->charset)) . '}}';
 }
开发者ID:just-leo,项目名称:cardgame-serial,代码行数:10,代码来源:ActiveRecord.php

示例6: buildXml

 /**
  * @param DOMElement $element
  * @param mixed $data
  */
 protected function buildXml($element, $data)
 {
     if (is_object($data)) {
         $child = new DOMElement(StringHelper::basename(get_class($data)));
         $element->appendChild($child);
         if ($data instanceof Arrayable) {
             $this->buildXml($child, $data->toArray());
         } else {
             $array = [];
             foreach ($data as $name => $value) {
                 $array[$name] = $value;
             }
             $this->buildXml($child, $array);
         }
     } elseif (is_array($data)) {
         foreach ($data as $name => $value) {
             if (is_int($name) && is_object($value)) {
                 $this->buildXml($element, $value);
             } elseif (is_array($value) || is_object($value)) {
                 $child = new DOMElement(is_int($name) ? $this->itemTag : $name);
                 $element->appendChild($child);
                 $this->buildXml($child, $value);
             } else {
                 $child = new DOMElement(is_int($name) ? $this->itemTag : $name);
                 $element->appendChild($child);
                 $child->appendChild(new DOMText((string) $value));
             }
         }
     } else {
         $element->appendChild(new DOMText((string) $data));
     }
 }
开发者ID:Jaaviieer,项目名称:PrograWeb,代码行数:36,代码来源:XmlResponseFormatter.php

示例7: testBasename

 public function testBasename()
 {
     $this->assertEquals('', StringHelper::basename(''));
     $this->assertEquals('file', StringHelper::basename('file'));
     $this->assertEquals('file.test', StringHelper::basename('file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('file.test', '.test'));
     $this->assertEquals('file', StringHelper::basename('/file'));
     $this->assertEquals('file.test', StringHelper::basename('/file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('/file.test', '.test'));
     $this->assertEquals('file', StringHelper::basename('/path/to/file'));
     $this->assertEquals('file.test', StringHelper::basename('/path/to/file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('/path/to/file.test', '.test'));
     $this->assertEquals('file', StringHelper::basename('\\file'));
     $this->assertEquals('file.test', StringHelper::basename('\\file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('\\file.test', '.test'));
     $this->assertEquals('file', StringHelper::basename('C:\\file'));
     $this->assertEquals('file.test', StringHelper::basename('C:\\file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('C:\\file.test', '.test'));
     $this->assertEquals('file', StringHelper::basename('C:\\path\\to\\file'));
     $this->assertEquals('file.test', StringHelper::basename('C:\\path\\to\\file.test', '.test2'));
     $this->assertEquals('file', StringHelper::basename('C:\\path\\to\\file.test', '.test'));
     // mixed paths
     $this->assertEquals('file.test', StringHelper::basename('/path\\to/file.test'));
     $this->assertEquals('file.test', StringHelper::basename('/path/to\\file.test'));
     $this->assertEquals('file.test', StringHelper::basename('\\path/to\\file.test'));
     // \ and / in suffix
     $this->assertEquals('file', StringHelper::basename('/path/to/filete/st', 'te/st'));
     $this->assertEquals('st', StringHelper::basename('/path/to/filete/st', 'te\\st'));
     $this->assertEquals('file', StringHelper::basename('/path/to/filete\\st', 'te\\st'));
     $this->assertEquals('st', StringHelper::basename('/path/to/filete\\st', 'te/st'));
     // http://www.php.net/manual/en/function.basename.php#72254
     $this->assertEquals('foo', StringHelper::basename('/bar/foo/'));
     $this->assertEquals('foo', StringHelper::basename('\\bar\\foo\\'));
 }
开发者ID:sciurodont,项目名称:yii2,代码行数:34,代码来源:StringHelperTest.php

示例8: init

 public function init()
 {
     if (!$this->modelName) {
         $this->modelName = StringHelper::basename(get_class($this), 'Controller');
     }
     if (!$this->modelClass) {
         $modelClass = 'app\\models\\' . $this->modelName;
         if (class_exists($modelClass)) {
             $this->modelClass = $modelClass;
         } else {
             $modelClass = 'app\\models\\readonly\\' . $this->modelName;
             if (class_exists($modelClass)) {
                 $this->modelClass = $modelClass;
             }
         }
     }
     if (!$this->filterModelClass) {
         $filterModelClass = 'app\\models\\search\\' . $this->modelName . 'Search';
         if (class_exists($filterModelClass)) {
             $this->filterModelClass = $filterModelClass;
         } else {
             $filterModelClass = 'app\\models\\readonly\\search\\' . $this->modelName . 'Search';
             if (class_exists($filterModelClass)) {
                 $this->filterModelClass = $filterModelClass;
             }
         }
     }
     parent::init();
 }
开发者ID:ivan-chkv,项目名称:yii2-mozayka,代码行数:29,代码来源:ActiveController.php

示例9: __construct

 /**
  * @param \phpDocumentor\Reflection\BaseReflector $reflector
  * @param Context $context
  * @param array $config
  */
 public function __construct($reflector = null, $context = null, $config = [])
 {
     parent::__construct($config);
     if ($reflector === null) {
         return;
     }
     // base properties
     $this->name = ltrim($reflector->getName(), '\\');
     $this->startLine = $reflector->getNode()->getAttribute('startLine');
     $this->endLine = $reflector->getNode()->getAttribute('endLine');
     $docblock = $reflector->getDocBlock();
     if ($docblock !== null) {
         $this->shortDescription = ucfirst($docblock->getShortDescription());
         if (empty($this->shortDescription) && !$this instanceof PropertyDoc && $context !== null && $docblock->getTagsByName('inheritdoc') === null) {
             $context->errors[] = ['line' => $this->startLine, 'file' => $this->sourceFile, 'message' => "No short description for " . substr(StringHelper::basename(get_class($this)), 0, -3) . " '{$this->name}'"];
         }
         $this->description = $docblock->getLongDescription()->getContents();
         $this->phpDocContext = $docblock->getContext();
         $this->tags = $docblock->getTags();
         foreach ($this->tags as $i => $tag) {
             if ($tag instanceof SinceTag) {
                 $this->since = $tag->getVersion();
                 unset($this->tags[$i]);
             } elseif ($tag instanceof DeprecatedTag) {
                 $this->deprecatedSince = $tag->getVersion();
                 $this->deprecatedReason = $tag->getDescription();
                 unset($this->tags[$i]);
             }
         }
     } elseif ($context !== null) {
         $context->errors[] = ['line' => $this->startLine, 'file' => $this->sourceFile, 'message' => "No docblock for element '{$this->name}'"];
     }
 }
开发者ID:136216444,项目名称:yii2-apidoc,代码行数:38,代码来源:BaseDoc.php

示例10: getThumbnailTrue

 public function getThumbnailTrue()
 {
     if ($this->image) {
         $name = \yii\helpers\StringHelper::basename($this->image);
         $dir = \yii\helpers\StringHelper::dirname($this->image);
         return Yii::getAlias($dir . '/thumb/' . $name);
     }
 }
开发者ID:sintret,项目名称:yii2-basic-sintret,代码行数:8,代码来源:Test.php

示例11: run

 public function run()
 {
     $notesDataProvider = new ActiveDataProvider(['query' => $this->model->getNotes(), 'pagination' => ['pageSize' => 3]]);
     $newModel = new Note();
     $newModel->Model_id = $this->model->id;
     $newModel->Model = StringHelper::basename(get_class($this->model));
     echo $this->render('note', ['model' => $newModel, 'dataProvider' => $notesDataProvider, 'accessPriviledge' => $this->accessPriviledge]);
 }
开发者ID:reenkal,项目名称:yii2brain,代码行数:8,代码来源:NoteWidget.php

示例12: idAttr

 protected function idAttr()
 {
     if (is_null($this->pivotIdAttr)) {
         $owner = $this->owner;
         $this->pivotIdAttr = Inflector::camel2id(StringHelper::basename($owner->className()), '_') . '_id';
     }
     return $this->pivotIdAttr;
 }
开发者ID:menshakov,项目名称:yii2-sortable-behavior,代码行数:8,代码来源:MMSortable.php

示例13: generate

 /**
  * @inheritdoc
  */
 public function generate()
 {
     $files = [];
     $modulePath = $this->getModulePath();
     $files[] = new CodeFile($modulePath . '/' . StringHelper::basename($this->moduleClass) . '.php', $this->render("module.php"));
     $files[] = new CodeFile($modulePath . '/controllers/frontend/DefaultController.php', $this->render("controller.php"));
     $files[] = new CodeFile($modulePath . '/views/frontend/default/index.php', $this->render("view.php"));
     return $files;
 }
开发者ID:bolom009,项目名称:testwork_api,代码行数:12,代码来源:Generator.php

示例14: parseExtraFields

 public function parseExtraFields($modelName)
 {
     if (isset($this->extraFieldModels[StringHelper::basename($modelName::className())])) {
         $var = $this->extraFieldModels[StringHelper::basename($modelName::className())];
         $fieldsArr = $this->{$var};
         return array_values(ArrayHelper::map($fieldsArr, 0, 0));
     }
     return [];
 }
开发者ID:devbrom,项目名称:yii2-releases,代码行数:9,代码来源:Module.php

示例15: init

 public function init()
 {
     $this->className = \yii\helpers\StringHelper::basename(get_class($this->model));
     $cities = LocationCity::find()->orderBy('title ASC')->all();
     foreach ($cities as $city) {
         $this->district[$city->_id] = ArrayHelper::map(LocationDistrict::find()->where(['region_id' => $city->_id])->orderBy('title ASC')->all(), '_id', 'title');
     }
     $this->registerJs();
 }
开发者ID:quynhvv,项目名称:stepup,代码行数:9,代码来源:FieldLocaltion.php


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