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


PHP data::rearrangeArray方法代码示例

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


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

示例1: getCode

    /**
     * Renders HTML code of form.
     *
     * @return string generated HTML code
     */
    public function getCode()
    {
        $method = $this->usePost ? 'post' : 'get';
        $action = is_null($this->processorUrl) ? application::current()->selfUrl($this->usePost ? array() : false) : $this->processorUrl;
        $mime = $this->maxFileSize > 0 ? ' enctype="multipart/form-data"' : '';
        $size = $this->maxFileSize > 0 ? '<input type="hidden" name="MAX_FILE_SIZE" value="' . $this->maxFileSize . "\"/>\n\t" : '';
        $name = html::idname($this->name);
        $idName = $this->idName();
        $idValue = $this->idValue();
        $labelClass = 'without-labels';
        // compile code of form's rows
        $template = self::getRowTemplate();
        $rows = array_filter($this->rows, function ($row) {
            return !!count($row);
        });
        if ($this->sortingOrder) {
            data::rearrangeArray($rows, $this->sortingOrder, true);
        }
        $rows = array_map(function ($row) use($template, &$labelClass) {
            if (@$row['label']) {
                $labelClass = 'with-labels';
            }
            $label = view::wrapNotEmpty(@$row['label'], '', '');
            $code = view::wrapNotEmpty(@$row['htmlCode'], '', '');
            $hint = view::wrapNotEmpty(@$row['hint'], '<span class="hint">', "</span>\n");
            $error = view::wrapNotEmpty(@$row['error'], '<span class="error">', "</span>\n");
            $mandatory = @$row['mandatory'] ? config::get('html.form.mandatory', '<span class="mandatory">*</span>') : '';
            if (trim($label) !== '') {
                $label = sprintf(config::get('html.form.label', '%s%s:'), $label, $mandatory);
            }
            return sprintf($template, trim('form-row-name-' . @$row['name'] . ' ' . @$row['class']), $label, $code, $error, $hint);
        }, $rows);
        // embed compiled rows in form's custom content
        $code = str_replace('%%%%ROWS_STACK%%%%', implode('', $rows), $this->code);
        $hidden = $this->enableXsrfMode ? "<input type=\"hidden\" name=\"{$idName}\" value=\"{$idValue}\"/>" : '';
        foreach ($this->hidden as $key => $value) {
            if (is_array($value)) {
                foreach ($value as $subName => $subValue) {
                    $hidden .= '<input type="hidden" name="' . html::inAttribute($key) . '[' . html::inAttribute($subName) . ']" value="' . html::inAttribute($subValue) . '"/>';
                }
            } else {
                if ($value !== null) {
                    $hidden .= '<input type="hidden" name="' . html::inAttribute($key) . '" value="' . html::inAttribute($value) . '"/>';
                }
            }
        }
        $class = ' class="' . html::inAttribute(trim($this->class . ' ' . $labelClass)) . '"';
        return <<<EOT
<form action="{$action}" method="{$method}"{$mime} id="{$name}"{$class}>
\t{$size}{$hidden}
{$code}
</form>
EOT;
    }
开发者ID:cepharum,项目名称:txf,代码行数:59,代码来源:html_form.php


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