美文网首页typo3
TYPO3功能API解析 - GeneralUtility(无

TYPO3功能API解析 - GeneralUtility(无

作者: 是彬不是杉 | 来源:发表于2019-11-13 11:40 被阅读0次

    原文链接:https://www.whongbin.cn/article-detail/133.html

    API介绍

    这个API是基于TYPO3,且只能使用在TYPO3-CMS中的功能性辅助函数集合,它将PHP的功能函数做了优化,使得这些函数搭配TYPO3使用更方便,更简单,更准确。可以说是TYPO3开发中的必要工具。该API在TYPO3-CMS中的位置:(项目根目录)/typo3/sysext/core/Classes/Utility/GeneralUtility.php

    使用方法

    方法1:该API不需要实例化就可以使用。

    使用 \TYPO3\CMS\Core\Utility\GeneralUtility:: 型的函数名前缀就可以调用成功。

    • eg. :\TYPO3\CMS\Core\Utility\GeneralUtility::milliseconds(); //获取unix毫秒时间戳。;

    • eg. :\TYPO3\CMS\Core\Utility\GeneralUtility::_GET(); //获取GET提交数据。;

    方法2:使用 use 导入该API的命名空间后进行使用。

    使用 在类(class)的上方,use TYPO3\CMS\Core\Utility\GeneralUtility 就可以在类中直接调用成功了。

    • eg. :GeneralUtility::milliseconds(); //获取unix毫秒时间戳。;

    • eg. :GeneralUtility::_GET(); //获取GET提交数据。;

    详细

    1、GET/POST 变量

        //返回指定变量的 $_GET/$_POST 数据
        public static function _GP($var)
    
        //返回指定变量 $_GET和$_POST合并数据集,$_POST优先。
        public static function _GPmerged($parameter)
    
        //返回指定变量的 $_GET 数据
        public static function _GET($var = null)
    
        //返回指定变量的 $_POST 数据
        public static function _POST($var = null)
    

    2、字符串处理

        //兼容中文的字符串截断和拼接
        public static function fixed_lgd_cs($string, $chars, $appendString = '...')
        
        //验证IP地址是否合法
        public static function validIP($ip)
        
        //验证IPv4地址是否合法
        public static function validIPv4($ip)
        
        //验证IPv6地址是否合法
        public static function validIPv6($ip)
    
        //用通配符字符串匹配列表中完全合格的域名
        public static function cmpFQDN($baseHost, $list)
    
        //检查给定的URL是否与当前发起HTTP请求的主机相匹配。
        public static function isOnCurrentHost($url)
        
        //检查以逗号分隔的项目列表中存在的项
        public static function inList($list, $item)
        
        //删除列表中的一项
        public static function rmFromList($element, $list)
        
        //扩大以逗号分隔的与范围的整数列表(例如1,3-5,7变为1,3,4,5,7)。扩大范围最大为间隔的1000倍
        public static function expandList($list)
    
        //从输入的md5哈希值的前7个字符中得出一个正整数哈希值
        public static function md5int($str)
    
        /返回MD5hash的前$len个字符(默认为10个)
        public static function shortMD5($input, $len = 10)
    
        //在给定的输入字符串和TYPO3加密密钥上返回正确的HMAC。
        public static function hmac($input, $additionalSecret = '')
        
    
        //删除使用逗号分隔的列表和数组中的所有重复项
        public static function uniqueList($in_list, $secondParameter = null)
    
        //获取文件详情 [path], [file], [filebody], [fileext], [realFileext]
        public static function split_fileref($fileNameWithPath)
        
        //返回路径的目录部分,后面不带斜杠
        public static function dirname($path)
        
        /如果$str的第一部分与字符串$partStr匹配,则返回TRUE
        public static function isFirstPartOfStr($str, $partStr)
    
        //文件大小格式化为人类可读数据
        public static function formatSize($sizeInBytes, $labels = '', $base = 0)
    
        //简单的数学运算 /+-*
        // string $string 计算公式 eg "123 + 456 / 789 - 4
        // string $operators 运算符 "/+-*
        // return array 运算符和操作数分开的数组。
        public static function splitCalc($string, $operators)
    
        //验证邮箱地址是否合法
        public static function validEmail($email)
        
        //字符串转为ASCII字符串(unicode)
        public static function idnaEncode($value)
        
        //下划线命名转为首字母大写的驼峰命名
        public static function underscoredToUpperCamelCase($string)
        
        //下划线命名转为首字母小写的驼峰命名
        public static function underscoredToLowerCamelCase($string)
        
        //驼峰命名转为下划线命名
        public static function camelCaseToLowerCaseUnderscored($string)
        
        //验证给定链接是否合法(是否可访问)
        public static function isValidUrl($url)
        
    

    3、数组处理

        //分解由$delimiter分隔的$string并将数组中的每个项目强制转换为(int)。
        public static function intExplode($delimiter, $string, $removeEmptyValues = false, $limit = 0)
        
        //解释不来,看例子:GeneralUtility::revExplode('[]', '[my][words][here]', 2) 输出:array('[my][words', 'here]')
        public static function revExplode($delimiter, $string, $count = 0)
    
        //把$string按照指定字符$delim转为数组,并去掉空白值
        public static function trimExplode($delim, $string, $removeEmptyValues = false, $limit = 0)
    
        /数组转为Url参数
        public static function implodeArrayForUrl($name, $theArray, $str = '', $skipBlank = false, $rawurlencodeParamName = false)
    
        //Url参数转为数组
        public static function explodeUrl2Array($string)
    
        //返回键名为$varList列表的数组
        // string $varList 变量/键名列表
        // array $getArray 来源数组
        // bool $GPvarAlt get/post数据作为来源数组
        public static function compileSelectedGetVarsFromArray($varList, array $getArray, $GPvarAlt = true)
    
        //从ts配置文件中删除'.'
        public static function removeDotsFromTS(array $ts)
    
    

    4、HTML/XML 处理方式

        //以键值对格式返回指定html标签
        public static function get_tag_attributes($tag)
    
        //数组转为HTML参数:输入eg. "bgcolor"=>"red", "border"=>0;输出eg. 'bgcolor="red" border="0"'
        public static function implodeAttributes(array $arr, $xhtmlSafe = false, $dontOmitBlankAttribs = false)
    
        //使用<script>标签 包装JavaScript代码XHTML
        public static function wrapJS($string)
    
        //XML转为树结构数组
        public static function xml2tree($string, $depth = 999, $parserOptions = [])
    
        //数组转为xml
        public static function array2xml(array $array, $NSprefix = '', $level = 0, $docTag = 'phparray', $spaceInd = 0, array $options = [], array $stackData = [])
    
        //xml转为数组
        public static function xml2array($string, $NSprefix = '', $reportDocTag = false)
    
        //压缩 JavaScript
        public static function minifyJavaScript($script, &$error = '')
    
    

    5、FILES 处理函数

        //读取文件或URL $url并返回内容
        public static function getUrl($url, $includeHeader = 0, $requestHeaders = null, &$report = null)
    
        //在文件$file中写入内容$content
        public static function writeFile($file, $content, $changePermissions = false)
        
        //设置文件系统模式和文件或文件夹的组所有权
        public static function fixPermissions($path, $recursive = false)
    
        //在文件$filepath中写入内容$content 文件存放在 typo3temp/ 目录下
        public static function writeFileToTypo3tempDir($filepath, $content)
    
        //创建目录
        public static function mkdir($newFolder)
    
        //创建目录-必要时包括父目录,并在新创建的目录上设置权限
        public static function mkdir_deep($directory)
    
        //删除目录;递归删除子目录及文件
        public static function rmdir($path, $removeNonEmpty = false)
    
        //通过首先移至临时资源,然后触发删除过程来刷新目录。这样可以更快地刷新目录,以防止在并发进程访问同一目录时出现争用情况。
        public static function flushDirectory($directory, $keepOriginalDirectory = false, $flushOpcodeCache = false)
    
        /返回具有特定路径中文件夹名称的数组。如果读取目录内容时出错,将返回“错误”(字符串)。如果提供的路径为false,则将返回null
        public static function get_dirs($path)
    
        //查找给定路径中的所有文件,并将它们作为数组返回。每个数组键都是文件完整路径的md5哈希。这样做是因为诸如导入/导出扩展之类的“某些”扩展依赖于此。
        public static function getFilesInDir($path, $extensionList = '', $prependPath = false, $order = '', $excludePattern = '')
        
        //递归查找目录中的所有文件和文件夹
        public static function getAllFilesAndFoldersInPath(array $fileArr, $path, $extList = '', $regDirs = false, $recursivityLevels = 99, $excludePattern = '')
        
        //删除$fileArr中所有文件/文件夹的绝对部分
        public static function removePrefixPathFromList(array $fileArr, $prefixToRemove)
    
        //修复Windows反斜杠的路径,并将双斜杠减少为单斜杠
        public static function fixWindowsFilePath($theFile)
    
        //解析路径中的 "../" 
        public static function resolveBackPath($pathStr)
    
        //返回可跳转的链接
        public static function locationHeaderUrl($path)
    
        //获取最大文件上传大小(KB)
        public static function getMaxUploadFileSize()
        
        //(G,M,K,)转为字节
        public static function getBytesFromSizeMeasurement($measurement)
    
        //文件添加静态版本号
        public static function createVersionNumberedFilename($file)
    
        //将JavaScript字符串写入以该字符串的md5-hash命名的临时文件
        public static function writeJavaScriptContentToTemporaryFile(string $content)
        
        //将Css字符串写入以该字符串的md5-hash命名的临时文件
        public static function writeStyleSheetContentToTemporaryFile(string $content)
        
    

    6、系统信息

        //返回完整链接
        public static function linkThisScript(array $getParams = [])
    
        //$getParams中的参数添加到$url中并返回完整链接
        public static function linkThisUrl($url, array $getParams = [])
    
        //存储一个自定义变量,仅做测试用
        public static function setIndpEnv($envName, $value)
    
        //获取指定参数值 SCRIPT_NAME, SCRIPT_FILENAME, REQUEST_URI, PATH_INFO, REMOTE_ADDR, REMOTE_HOST, HTTP_REFERER, HTTP_HOST, HTTP_USER_AGENT, HTTP_ACCEPT_LANGUAGE, QUERY_STRING, TYPO3_DOCUMENT_ROOT, TYPO3_HOST_ONLY, TYPO3_HOST_ONLY, TYPO3_REQUEST_HOST, TYPO3_REQUEST_URL, TYPO3_REQUEST_SCRIPT, TYPO3_REQUEST_DIR, TYPO3_SITE_URL, _ARRAY
        public static function getIndpEnv($getEnvName)
    
        //获取unix毫秒时间戳。
        public static function milliseconds()
    
    

    7、TYPO3 特殊功能函数

        
        //解析'EXT:'为文件绝对路径
        public static function getFileAbsFileName($filename)
        
        //检查恶意文件
        public static function validPathStr($theFile)
        
        //检查$path是绝对路径还是相对路径(检测'/'或'x:/'作为字符串的第一部分),如果是,则返回TRUE
        public static function isAbsPath($path)
        
        //如果路径是绝对路径,没有反向路径".."并且在TYPO3的项目或公用文件夹中,或者在lockRootPath中,则返回TRUE
        public static function isAllowedAbsPath($path)
    
        //根据"fileDenyPattern"验证输入文件名。如果确定,则返回TRUE。
        public static function verifyFilenameAgainstDenyPattern($filename)
        
        //递归复制目录下的所有文件和子目录
        public static function copyDirectory($source, $destination)
    
        //将$source文件上传到$destination目录(如果已上传),否则尝试进行复制
        public static function upload_copy_move($source, $destination)
    
        //将文件移动到临时目录
        public static function upload_to_tempfile($uploadedFileName)
    
        //删除 var/ 或者 typo3temp 目录中的临时文件
        public static function unlink_tempfile($uploadedTempFileName)
    
        //创建临时文件名(使用唯一的文件名创建文件)
        public static function tempnam($filePrefix, $fileSuffix = '')
    
        //标准身份验证代码
        public static function stdAuthCode($uid_or_record, $fields = '', $codeLength = 8)
        
        //如果不存在翻译,则响应输入的本地化设置值是否应隐藏其来源页面
        public static function hideIfNotTranslated($l18n_cfg_fieldValue)
    
        //如果未将“ l18n_cfg”字段值设置为隐藏,则返回true
        public static function hideIfDefaultLanguage($localizationConfiguration)
        
        //在类中调用用户定义的函数/方法
        public static function callUserFunction($funcName, &$params, &$ref)
    
        //刷新内部运行时缓存
        public static function flushInternalRuntimeCaches()
    
        //引用一个用作JS参数的字符串。
        public static function quoteJSvalue($value)
    
    

    相关文章

      网友评论

        本文标题:TYPO3功能API解析 - GeneralUtility(无

        本文链接:https://www.haomeiwen.com/subject/bbjhictx.html