一、\typo3_src-4.3.0\t3lib\class.t3lib_div.php
1、public static function makeInstance($className) {}
用makeInstance来代替php中的new class(),有几个好处:
(1)可以测试类的存在性,还有可以挂些钩子。
(2)把instance存放到一个array中,不用再去初始化class了,省去了初始化的过程。
(3)参数的处理。
2、
二、typo3_src-4.3.0\t3lib\class.t3lib_loadmodules.php
插件的处理类,有详细的注释。
三、t3x格式:
\typo3\mod\tools\em\class.em_terconnection.php中:
function makeUploadDataFromArray($uploadArray) {
if (is_array($uploadArray)) {
$serialized = serialize($uploadArray);
$md5 = md5($serialized);
$content = $md5.':';
$content.= 'gzcompress:';
$content.= gzcompress($serialized);
}
return $content;
}
(1)对数量序列化
(2)对序列化的字符取md5校验
(3)输出“md5值:gzcompress:”
(4)输出gzcompress后的内容
反解插件:decodeExchangeData()
EM(Extension Manager)的处理函数都在mod\tools\em里。
四、 \typo3\mod\tools\em\class.em_unzip.php
解压zip格式的类
extract():可以解压整个文件,也可以用参数来解压指定的部分,这些参数可以是按名字、按日期、按ereg等。它可以在当前目录下解压,也可以在指定目录下解压。返回值是一个关于解压文件的说明。
五、\t3lib\class.gzip_encode.php
可以对输出的页面进行压缩。最大的特色:对freebsd的load进行了判断,具体的语句是: case 'FreeBSD':
$cl = (1 - $this->freebsd_loadavg()) * 10;
$level = (int)max(min(9, $cl), 0);
freebsd_loadavg()定义引用了:t3lib_div::logDeprecatedFunction();
六、\typo3\mod\tools\em\class.em_soap.php
soap的实现可以有多种方式,也可以看出这三种soap的优先级:
if (defined('SOAP_1_2')) {
$options['implementation'] = 'phpsoap';
} elseif (class_exists('soapclient', false)) {
$options['implementation'] = 'nusoap';
} elseif (class_exists('SOAP_Client', false)) {
$options['implementation'] = 'pearsoap';
}
七、
阅读(2149) | 评论(0) | 转发(0) |