本文整理汇总了PHP中Magento\Framework\Stdlib\String类的典型用法代码示例。如果您正苦于以下问题:PHP String类的具体用法?PHP String怎么用?PHP String使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了String类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: setUp
protected function setUp()
{
$this->filesystemMock = $this->getMock('Magento\\Framework\\App\\Filesystem', array(), array(), '', false, false);
$this->directoryMock = $this->getMock('Magento\\Framework\\Filesystem\\Directory\\Read', array(), array(), '', false, false);
$this->_stringMock = $this->getMock('Magento\\Framework\\Stdlib\\String', array(), array(), '', false, false);
$this->_stringMock->expects($this->once())->method('upperCaseWords')->will($this->returnValue('Test/Module'));
$this->filesystemMock->expects($this->once())->method('getDirectoryRead')->will($this->returnValue($this->directoryMock));
$this->_model = new \Magento\Framework\Module\Dir($this->filesystemMock, $this->_stringMock);
}
开发者ID:,项目名称:,代码行数:9,代码来源:
示例2: getVariable
/**
* Return variable value for var construction
*
* @param string $value raw parameters
* @param string $default default value
* @return string
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
protected function getVariable($value, $default = '{no_value_defined}')
{
\Magento\Framework\Profiler::start('email_template_processing_variables');
$tokenizer = new Template\Tokenizer\Variable();
$tokenizer->setString($value);
$stackVars = $tokenizer->tokenize();
$result = $default;
$last = 0;
for ($i = 0; $i < count($stackVars); $i++) {
if ($i == 0 && isset($this->templateVars[$stackVars[$i]['name']])) {
// Getting of template value
$stackVars[$i]['variable'] =& $this->templateVars[$stackVars[$i]['name']];
} elseif (isset($stackVars[$i - 1]['variable']) && $stackVars[$i - 1]['variable'] instanceof \Magento\Framework\Object) {
// If object calling methods or getting properties
if ($stackVars[$i]['type'] == 'property') {
$caller = 'get' . $this->string->upperCaseWords($stackVars[$i]['name'], '_', '');
$stackVars[$i]['variable'] = method_exists($stackVars[$i - 1]['variable'], $caller) ? $stackVars[$i - 1]['variable']->{$caller}() : $stackVars[$i - 1]['variable']->getData($stackVars[$i]['name']);
} elseif ($stackVars[$i]['type'] == 'method') {
// Calling of object method
if (method_exists($stackVars[$i - 1]['variable'], $stackVars[$i]['name']) || substr($stackVars[$i]['name'], 0, 3) == 'get') {
$stackVars[$i]['args'] = $this->getStackArgs($stackVars[$i]['args']);
$stackVars[$i]['variable'] = call_user_func_array([$stackVars[$i - 1]['variable'], $stackVars[$i]['name']], $stackVars[$i]['args']);
}
}
$last = $i;
}
}
if (isset($stackVars[$last]['variable'])) {
// If value for construction exists set it
$result = $stackVars[$last]['variable'];
}
\Magento\Framework\Profiler::stop('email_template_processing_variables');
return $result;
}
开发者ID:nja78,项目名称:magento2,代码行数:42,代码来源:Template.php
示例3: _getHttpCleanValue
/**
* Retrieve HTTP "clean" value
*
* @param string $var
* @param boolean $clean clean non UTF-8 characters
* @return string
*/
protected function _getHttpCleanValue($var, $clean = true)
{
$value = $this->_request->getServer($var, '');
if ($clean) {
$value = $this->_converter->cleanString($value);
}
return $value;
}
开发者ID:,项目名称:,代码行数:15,代码来源:
示例4: getFormattedOptionValue
/**
* Accept option value and return its formatted view
*
* @param string|array $optionValue
* Method works well with these $optionValue format:
* 1. String
* 2. Indexed array e.g. array(val1, val2, ...)
* 3. Associative array, containing additional option info, including option value, e.g.
* array
* (
* [label] => ...,
* [value] => ...,
* [print_value] => ...,
* [option_id] => ...,
* [option_type] => ...,
* [custom_view] =>...,
* )
* @param array $params
* All keys are options. Following supported:
* - 'maxLength': truncate option value if needed, default: do not truncate
* - 'cutReplacer': replacer for cut off value part when option value exceeds maxLength
*
* @return array
*/
public function getFormattedOptionValue($optionValue, $params = null)
{
// Init params
if (!$params) {
$params = array();
}
$maxLength = isset($params['max_length']) ? $params['max_length'] : null;
$cutReplacer = isset($params['cut_replacer']) ? $params['cut_replacer'] : '...';
// Proceed with option
$optionInfo = array();
// Define input data format
if (is_array($optionValue)) {
if (isset($optionValue['option_id'])) {
$optionInfo = $optionValue;
if (isset($optionInfo['value'])) {
$optionValue = $optionInfo['value'];
}
} else {
if (isset($optionValue['value'])) {
$optionValue = $optionValue['value'];
}
}
}
// Render customized option view
if (isset($optionInfo['custom_view']) && $optionInfo['custom_view']) {
$_default = array('value' => $optionValue);
if (isset($optionInfo['option_type'])) {
try {
$group = $this->_productOptionFactory->create()->groupFactory($optionInfo['option_type']);
return array('value' => $group->getCustomizedView($optionInfo));
} catch (\Exception $e) {
return $_default;
}
}
return $_default;
}
// Truncate standard view
if (is_array($optionValue)) {
$truncatedValue = implode("\n", $optionValue);
$truncatedValue = nl2br($truncatedValue);
return array('value' => $truncatedValue);
} else {
if ($maxLength) {
$truncatedValue = $this->filter->truncate($optionValue, array('length' => $maxLength, 'etc' => ''));
} else {
$truncatedValue = $optionValue;
}
$truncatedValue = nl2br($truncatedValue);
}
$result = array('value' => $truncatedValue);
if ($maxLength && $this->string->strlen($optionValue) > $maxLength) {
$result['value'] = $result['value'] . $cutReplacer;
$optionValue = nl2br($optionValue);
$result['full_view'] = $optionValue;
}
return $result;
}
开发者ID:aiesh,项目名称:magento2,代码行数:81,代码来源:Configuration.php
示例5: filter
/**
* Filter value
*
* @param string $string
* @return string
*/
public function filter($string)
{
$length = $this->length;
$this->remainder = '';
if (0 == $length) {
return '';
}
$originalLength = $this->string->strlen($string);
if ($originalLength > $length) {
$length -= $this->string->strlen($this->etc);
if ($length <= 0) {
return '';
}
$preparedString = $string;
$preparedLength = $length;
if (!$this->breakWords) {
$preparedString = preg_replace('/\\s+?(\\S+)?$/u', '', $this->string->substr($string, 0, $length + 1));
$preparedLength = $this->string->strlen($preparedString);
}
$this->remainder = $this->string->substr($string, $preparedLength, $originalLength);
return $this->string->substr($preparedString, 0, $length) . $this->etc;
}
return $string;
}
开发者ID:,项目名称:,代码行数:30,代码来源:
示例6: validateValue
/**
* Validate data
* Return true or array of errors
*
* @param array|string $value
* @return bool|array
*/
public function validateValue($value)
{
$errors = array();
$attribute = $this->getAttribute();
$label = __($attribute->getStoreLabel());
if ($value === false) {
// try to load original value and validate it
$value = $this->getEntity()->getDataUsingMethod($attribute->getAttributeCode());
}
if ($attribute->getIsRequired() && empty($value) && $value !== '0') {
$errors[] = __('"%1" is a required value.', $label);
}
if (!$errors && !$attribute->getIsRequired() && empty($value)) {
return true;
}
// validate length
$length = $this->_string->strlen(trim($value));
$validateRules = $attribute->getValidateRules();
if (!empty($validateRules['min_text_length']) && $length < $validateRules['min_text_length']) {
$v = $validateRules['min_text_length'];
$errors[] = __('"%1" length must be equal or greater than %2 characters.', $label, $v);
}
if (!empty($validateRules['max_text_length']) && $length > $validateRules['max_text_length']) {
$v = $validateRules['max_text_length'];
$errors[] = __('"%1" length must be equal or less than %2 characters.', $label, $v);
}
$result = $this->_validateInputRule($value);
if ($result !== true) {
$errors = array_merge($errors, $result);
}
if (count($errors) == 0) {
return true;
}
return $errors;
}
开发者ID:aiesh,项目名称:magento2,代码行数:42,代码来源:Text.php
示例7: validateValue
/**
* {@inheritdoc}
*/
public function validateValue($value)
{
$errors = array();
$attribute = $this->getAttribute();
$label = __($attribute->getStoreLabel());
if ($value === false) {
// try to load original value and validate it
$value = $this->_value;
}
if ($attribute->isRequired() && empty($value) && $value !== '0') {
$errors[] = __('"%1" is a required value.', $label);
}
if (!$errors && !$attribute->isRequired() && empty($value)) {
return true;
}
// validate length
$length = $this->_string->strlen(trim($value));
$validateRules = $attribute->getValidationRules();
$minTextLength = ArrayObjectSearch::getArrayElementByName($validateRules, 'min_text_length');
if (!is_null($minTextLength) && $length < $minTextLength) {
$errors[] = __('"%1" length must be equal or greater than %2 characters.', $label, $minTextLength);
}
$maxTextLength = ArrayObjectSearch::getArrayElementByName($validateRules, 'max_text_length');
if (!is_null($maxTextLength) && $length > $maxTextLength) {
$errors[] = __('"%1" length must be equal or less than %2 characters.', $label, $maxTextLength);
}
$result = $this->_validateInputRule($value);
if ($result !== true) {
$errors = array_merge($errors, $result);
}
if (count($errors) == 0) {
return true;
}
return $errors;
}
开发者ID:pavelnovitsky,项目名称:magento2,代码行数:38,代码来源:Text.php
示例8: draw
/**
* Draw item line
*
* @return void
*/
public function draw()
{
$item = $this->getItem();
$pdf = $this->getPdf();
$page = $this->getPage();
$lines = array();
// draw Product name
$lines[0] = array(array('text' => $this->string->split($item->getName(), 60, true, true), 'feed' => 100));
// draw QTY
$lines[0][] = array('text' => $item->getQty() * 1, 'feed' => 35);
// draw SKU
$lines[0][] = array('text' => $this->string->split($this->getSku($item), 25), 'feed' => 565, 'align' => 'right');
// Custom options
$options = $this->getItemOptions();
if ($options) {
foreach ($options as $option) {
// draw options label
$lines[][] = array('text' => $this->string->split($this->filterManager->stripTags($option['label']), 70, true, true), 'font' => 'italic', 'feed' => 110);
// draw options value
if ($option['value']) {
$printValue = isset($option['print_value']) ? $option['print_value'] : $this->filterManager->stripTags($option['value']);
$values = explode(', ', $printValue);
foreach ($values as $value) {
$lines[][] = array('text' => $this->string->split($value, 50, true, true), 'feed' => 115);
}
}
}
}
$lineBlock = array('lines' => $lines, 'height' => 20);
$page = $pdf->drawLineBlocks($page, array($lineBlock), array('table_header' => true));
$this->setPage($page);
}
开发者ID:aiesh,项目名称:magento2,代码行数:37,代码来源:DefaultShipment.php
示例9: draw
/**
* Draw item line
*
* @return void
*/
public function draw()
{
$order = $this->getOrder();
$item = $this->getItem();
$pdf = $this->getPdf();
$page = $this->getPage();
$lines = [];
// draw Product name
$lines[0] = [['text' => $this->string->split($item->getName(), 35, true, true), 'feed' => 35]];
// draw SKU
$lines[0][] = ['text' => $this->string->split($this->getSku($item), 17), 'feed' => 290, 'align' => 'right'];
// draw QTY
$lines[0][] = ['text' => $item->getQty() * 1, 'feed' => 435, 'align' => 'right'];
// draw item Prices
$i = 0;
$prices = $this->getItemPricesForDisplay();
$feedPrice = 395;
$feedSubtotal = $feedPrice + 170;
foreach ($prices as $priceData) {
if (isset($priceData['label'])) {
// draw Price label
$lines[$i][] = ['text' => $priceData['label'], 'feed' => $feedPrice, 'align' => 'right'];
// draw Subtotal label
$lines[$i][] = ['text' => $priceData['label'], 'feed' => $feedSubtotal, 'align' => 'right'];
$i++;
}
// draw Price
$lines[$i][] = ['text' => $priceData['price'], 'feed' => $feedPrice, 'font' => 'bold', 'align' => 'right'];
// draw Subtotal
$lines[$i][] = ['text' => $priceData['subtotal'], 'feed' => $feedSubtotal, 'font' => 'bold', 'align' => 'right'];
$i++;
}
// draw Tax
$lines[0][] = ['text' => $order->formatPriceTxt($item->getTaxAmount()), 'feed' => 495, 'font' => 'bold', 'align' => 'right'];
// custom options
$options = $this->getItemOptions();
if ($options) {
foreach ($options as $option) {
// draw options label
$lines[][] = ['text' => $this->string->split($this->filterManager->stripTags($option['label']), 40, true, true), 'font' => 'italic', 'feed' => 35];
if ($option['value']) {
if (isset($option['print_value'])) {
$printValue = $option['print_value'];
} else {
$printValue = $this->filterManager->stripTags($option['value']);
}
$values = explode(', ', $printValue);
foreach ($values as $value) {
$lines[][] = ['text' => $this->string->split($value, 30, true, true), 'feed' => 40];
}
}
}
}
$lineBlock = ['lines' => $lines, 'height' => 20];
$page = $pdf->drawLineBlocks($page, [$lineBlock], ['table_header' => true]);
$this->setPage($page);
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:62,代码来源:DefaultInvoice.php
示例10: render
/**
* Renders grid column
*
* @param \Magento\Framework\Object $row
* @return string
*/
public function render(\Magento\Framework\Object $row)
{
$line = parent::_getValue($row);
$wrappedLine = '';
$lineLength = $this->getColumn()->getData('lineLength') ? $this->getColumn()->getData('lineLength') : $this->_defaultMaxLineLength;
for ($i = 0, $n = floor($this->string->strlen($line) / $lineLength); $i <= $n; $i++) {
$wrappedLine .= $this->string->substr($line, $lineLength * $i, $lineLength) . "<br />";
}
return $wrappedLine;
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:16,代码来源:Wrapline.php
示例11: render
/**
* Renders a column
*
* @param \Magento\Framework\Object $row
* @return string
*/
public function render(\Magento\Framework\Object $row)
{
$value = $row->getData($this->getColumn()->getIndex());
if ($this->stringHelper->strlen($value) > 30) {
$value = '<span title="' . $this->escapeHtml($value) . '">' . $this->escapeHtml($this->filterManager->truncate($value, array('length' => 30))) . '</span>';
} else {
$value = $this->escapeHtml($value);
}
return $value;
}
开发者ID:aiesh,项目名称:magento2,代码行数:16,代码来源:Searchquery.php
示例12: validate
/**
* Validate SKU
*
* @param Product $object
* @return bool
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function validate($object)
{
$attrCode = $this->getAttribute()->getAttributeCode();
$value = $object->getData($attrCode);
if ($this->getAttribute()->getIsRequired() && strlen($value) === 0) {
throw new \Magento\Framework\Exception\LocalizedException(__('The value of attribute "%1" must be set', $attrCode));
}
if ($this->string->strlen($object->getSku()) > self::SKU_MAX_LENGTH) {
throw new \Magento\Framework\Exception\LocalizedException(__('SKU length should be %1 characters maximum.', self::SKU_MAX_LENGTH));
}
return true;
}
开发者ID:opexsw,项目名称:magento2,代码行数:20,代码来源:Sku.php
示例13: getDir
/**
* Retrieve full path to a directory of certain type within a module
*
* @param string $moduleName Fully-qualified module name
* @param string $type Type of module's directory to retrieve
* @return string
* @throws \InvalidArgumentException
*/
public function getDir($moduleName, $type = '')
{
$path = $this->_string->upperCaseWords($moduleName, '_', '/');
if ($type) {
if (!in_array($type, array('etc', 'sql', 'data', 'i18n', 'view', 'Controller'))) {
throw new \InvalidArgumentException("Directory type '{$type}' is not recognized.");
}
$path .= '/' . $type;
}
$result = $this->_modulesDirectory->getAbsolutePath($path);
return $result;
}
开发者ID:,项目名称:,代码行数:20,代码来源:
示例14: beforeSave
/**
* Special processing before attribute save:
* a) check some rules for password
* b) transform temporary attribute 'password' into real attribute 'password_hash'
*
* @param \Magento\Framework\Object $object
* @return void
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function beforeSave($object)
{
$password = $object->getPassword();
$length = $this->string->strlen($password);
if ($length > 0) {
if ($length < self::MIN_PASSWORD_LENGTH) {
throw new LocalizedException(__('The password must have at least %1 characters.', self::MIN_PASSWORD_LENGTH));
}
if ($this->string->substr($password, 0, 1) == ' ' || $this->string->substr($password, $length - 1, 1) == ' ') {
throw new LocalizedException(__('The password can not begin or end with a space.'));
}
$object->setPasswordHash($object->hashPassword($password));
}
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:23,代码来源:Password.php
示例15: getDir
/**
* Retrieve full path to a directory of certain type within a module
*
* @param string $moduleName Fully-qualified module name
* @param string $type Type of module's directory to retrieve
* @return string
* @throws \InvalidArgumentException
*/
public function getDir($moduleName, $type = '')
{
if (null === ($path = $this->moduleRegistry->getModulePath($moduleName))) {
$relativePath = $this->_string->upperCaseWords($moduleName, '_', '/');
$path = $this->_modulesDirectory->getAbsolutePath($relativePath);
}
if ($type) {
if (!in_array($type, [self::MODULE_ETC_DIR, self::MODULE_I18N_DIR, self::MODULE_VIEW_DIR, self::MODULE_CONTROLLER_DIR])) {
throw new \InvalidArgumentException("Directory type '{$type}' is not recognized.");
}
$path .= '/' . $type;
}
return $path;
}
开发者ID:vasiljok,项目名称:magento2,代码行数:22,代码来源:Dir.php
示例16: testGetTooLongQuery
public function testGetTooLongQuery()
{
$queryId = 123;
$this->mapScopeConfig([self::XML_PATH_MAX_QUERY_LENGTH => 12]);
$rawQueryText = 'This is very long search query text';
$preparedQueryText = 'This is very';
$this->stringMock->expects($this->once())->method('substr')->with($this->equalTo($rawQueryText))->will($this->returnValue($preparedQueryText));
$this->requestMock->expects($this->once())->method('getParam')->with($this->equalTo(self::QUERY_VAR_NAME))->will($this->returnValue($rawQueryText));
$this->objectManagerMock->expects($this->once())->method('create')->with($this->equalTo('Magento\\Search\\Model\\Query'))->will($this->returnValue($this->queryMock));
$this->queryMock->expects($this->once())->method('loadByQuery')->with($this->equalTo($preparedQueryText))->will($this->returnSelf());
$this->queryMock->expects($this->once())->method('getId')->will($this->returnValue($queryId));
$this->queryMock->expects($this->once())->method('setIsQueryTextExceeded')->with($this->equalTo(true))->will($this->returnSelf());
$query = $this->queryFactory->get();
$this->assertSame($this->queryMock, $query);
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:15,代码来源:QueryFactoryTest.php
示例17: load
/**
* Load search results
*
* @return $this
*/
public function load()
{
$result = array();
if (!$this->hasStart() || !$this->hasLimit() || !$this->hasQuery()) {
$this->setResults($result);
return $this;
}
$collection = $this->_catalogSearchData->getQuery()->getSearchCollection()->addAttributeToSelect('name')->addAttributeToSelect('description')->addBackendSearchFilter($this->getQuery())->setCurPage($this->getStart())->setPageSize($this->getLimit())->load();
foreach ($collection as $product) {
$description = strip_tags($product->getDescription());
$result[] = array('id' => 'product/1/' . $product->getId(), 'type' => __('Product'), 'name' => $product->getName(), 'description' => $this->string->substr($description, 0, 30), 'url' => $this->_adminhtmlData->getUrl('catalog/product/edit', array('id' => $product->getId())));
}
$this->setResults($result);
return $this;
}
开发者ID:aiesh,项目名称:magento2,代码行数:20,代码来源:Catalog.php
示例18: createAttribute
/**
* Create attribute model
*
* @param string $name
* @return \Magento\GoogleShopping\Model\Attribute\DefaultAttribute
*/
public function createAttribute($name)
{
$modelName = 'Magento\\GoogleShopping\\Model\\Attribute\\' . $this->_string->upperCaseWords($this->_googleShoppingHelper->normalizeName($name));
try {
/** @var \Magento\GoogleShopping\Model\Attribute\DefaultAttribute $attributeModel */
$attributeModel = $this->_objectManager->create($modelName);
if (!$attributeModel) {
$attributeModel = $this->_objectManager->create('Magento\\GoogleShopping\\Model\\Attribute\\DefaultAttribute');
}
} catch (\Exception $e) {
$attributeModel = $this->_objectManager->create('Magento\\GoogleShopping\\Model\\Attribute\\DefaultAttribute');
}
$attributeModel->setName($name);
return $attributeModel;
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:21,代码来源:AttributeFactory.php
示例19: create
/**
* Create Form Element
*
* @param \Magento\Customer\Api\Data\AttributeMetadataInterface $attribute
* @param string|int|bool $value
* @param string $entityTypeCode
* @param bool $isAjax
* @return \Magento\Customer\Model\Metadata\Form\AbstractData
*/
public function create(\Magento\Customer\Api\Data\AttributeMetadataInterface $attribute, $value, $entityTypeCode, $isAjax = false)
{
$dataModelClass = $attribute->getDataModel();
$params = ['entityTypeCode' => $entityTypeCode, 'value' => is_null($value) ? false : $value, 'isAjax' => $isAjax, 'attribute' => $attribute];
/** TODO fix when Validation is implemented MAGETWO-17341 */
if ($dataModelClass == 'Magento\\Customer\\Model\\Attribute\\Data\\Postcode') {
$dataModelClass = 'Magento\\Customer\\Model\\Metadata\\Form\\Postcode';
}
if (!empty($dataModelClass)) {
$dataModel = $this->_objectManager->create($dataModelClass, $params);
} else {
$dataModelClass = sprintf('Magento\\Customer\\Model\\Metadata\\Form\\%s', $this->_string->upperCaseWords($attribute->getFrontendInput()));
$dataModel = $this->_objectManager->create($dataModelClass, $params);
}
return $dataModel;
}
开发者ID:shabbirvividads,项目名称:magento2,代码行数:25,代码来源:ElementFactory.php
示例20: _saveSection
/**
* Custom save logic for section
*
* @return void
*/
protected function _saveSection()
{
$method = '_save' . $this->string->upperCaseWords($this->getRequest()->getParam('section'), '_', '');
if (method_exists($this, $method)) {
$this->{$method}();
}
}
开发者ID:opexsw,项目名称:magento2,代码行数:12,代码来源:Save.php
注:本文中的Magento\Framework\Stdlib\String类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论