zoukankan      html  css  js  c++  java
  • PHP-手册阅读

    配置选项:

      html_errors: 无意义的 HTML 标记符会使得出错信息很凌乱, 所以在外壳下阅读报错信息是十分困难的, 因此将该选项的默认值改为 FALSE

      implicit_flush: 在命令行模式下, 所有来自 print 和 echo 的输出将被立即写到输出端, 而不作任何地缓冲操作, 如果您希望延缓或控制标准输出, 您仍然可以使用 output buffering 设置项

      max_execution_time: 最大执行时间

      register_argc_argv: 是否可以在脚本中使用 $argc, $argv 函数

    gc: garbage collection 垃圾回收

    PHP_SHLIB_SUFFIX 扩展后缀名

    PHP_EOL 兼容换行符, 也可以使用chr(10)

    stdClass 所有类的基类

    $HTTP_RAW_POST_DATA  获取原生POST数据, 也可以用php://input

    $http_response_header 当使用http包装器时, 此变量将会被 HTTP 响应头信息填充, 若要获取一个URL的请求头, 可以参考get_headers函数

    get_headers($url) 获取一个 HTTP 请求所发送的所有标头

    header_register_callback() 定义一个回调函数, 在header头被发送之前调用

    headers_list() 获取已经发送或者即将发送的header头

    header_remove() 在多次执行header()函数后, 可以用此函数执行撤销操作

    headers_sent() 检查header头是否已经被发送

    set_time_limit() 设置脚本最大运行时间, 也可通过配置max_execution_time实现

    ignore_user_abort() 设置客户端断开连接时是否中断脚本的执行

    exec($command[, $output[, $rtn]]) 把$command的每行输出写入$output数组, 并返回最后一行输出, 如果有$rtn, 则$rtn的结果为$command的返回结果

    system($command[, $rtn]) 执行$command, 并输出其内容, 若有$rtn, 则把$command的返回结果赋值给$rtn

    popen($command, $mode) 用文件指针方式处理输出

    passthru($command[, $rtn]) 用来直接输出$command返回的二进制数据(比如图片)到浏览器, $command返回结果赋值给$rtn

    shell_exec($command) 将$command的完整输出以字符串形式返回

    base_convert($number, $fromCode, $toCode) 在任意进制之间转换

    bin2hex, hex2bin, hexdec, bindec, decbin, dechex, decoct, octdec 进制转换

    bc[add|comp|mod|mul|pow|sqrt|sub] 高精度计算

    tmpfile() 创建一个临时文件, 并返回文件句柄

    chdir($dir) 更改当前目录

    getcwd() 获取所在目录

    link() 创建一个硬连接

    linkinfo() 查看一个link所指向的链接的信息, 可以用来查看存不存在

    symlink() 建立符号链接

    readlink() 返回符号连接指向的目标

    umask() 更改当前系统的umask(本次请求操作后自动恢复, 只是相当于起了一个新的shell, shell消失, 变量释放)

    contant($name) 获取一个define定义的常量的值

    chgrp($filename, $grp) 更改文件所属组

    chmod($filename, $model) 类似BASH的chmod

    chown($filename, $user) 类似BASH的chown

    rmdir() 删除文件夹

    checkdate($month, $day, $year) 验证日期的合法性

    chunk_split($str, $length, $insert) 函数把字符串分割为一连串更小的部分 可以在之间添加$insert

    class_interfaces($class) 查看对象或类名(字符串)所实现的所有Interface

    class_parents($class) 查看对象或雷敏(字符串)的父类

    create_function() 动态创建匿名函数

    compact()

    extract()

    openlog(string $ident , int $option , int $facility) 打开操作系统的日志记录的连接

    syslog(int $priority , string $message) 记录到操作系统日志

    define_syslog_variables() 清空操作系统日志

    defined() 是否被定义

    closelog() 关闭操作系统日志连接

    count_chars($str) 返回字符串所用字符的统计信息

    create_function(string $args, string $code) lambda方式创建函数

    filter_var() 使用特定过滤器过滤一个变量,可用来校验,比如 filter_val('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED);

    reset() 重置数组指针

    rewind() 重置文件指针

    rewinddir() 重置文件夹指针

    connection_status() 显示客户端(可以认为是浏览器)的连接状态(可以参考: http://blog.51yip.com/php/995.html)

    connection_aborted() 查看客户端连接是否被中断

    connection_timeout() 查看客户端连接是否超时

    clearstatcache()  清除文件状态缓存,

    libxml_use_internal_errors($user_errors) 当解析XML出现错误时, 是否启用用户错误处理, 默认为False

    libxml_get_errors() 获取XML解析错误原因

    parse_ini_file() 解析一个配置文件到数组

    parse_ini_string() 解析一个配置字符串到数组

    debug_backtrace() 获取回溯追踪信息

    debug_print_backtrace() 直接打印回溯字符串

    debug_zval_dump() 返回var_dump的字符串

    disk_free_space() 获取一个目录的可用空间

    disk_total_space() 返回一个目录的磁盘总大小

    dl() 运行时动态载入一个PHP扩展

    extension_loaded() 检查一个扩展是否已经被加载

    get_loaded_extends() 获取所有编译并加载的模块名

    checkdnsrr()  给指定的主机(域名)或者IP地址做DNS通信检查

    dns_get_record($hostname) 获取指定主机的DNS记录

    gethostbyadd() 根据IP地址获取主机名

    gethostbyname() 根据主机名获取IP地址

    gethostbynamel() 根据主机名获取IP地址

    gethostname() 获取本机名

    ip2long() 把IP地址转换为long类型数值

    long2ip() 把long类型数值转为IP地址

    inet_pton() 把点分十进制IP地址转为二进制整数

    inet_ntop() 把二进制证书转为点分十进制IP

    easter_date()  得到指定年份的复活节午夜时的Unix时间戳

    easter_days() 得到指定年份的3月21日到复活节之间的天数

    //思想: error 在报错级别比较高或者禁止报错的情况下, 如果遇到warning和notice则跳过, 其余则停止执行程序, 可交给set_error_handler中的函数来处理

    error_get_last() 获取最后发生的错误, 比如在ini_set('display_errors', 'Off')的情况下, 可以获取最后一次发生的错误

    error_reporting(0|-1...E_ALL...) 等同于ini_set('error_reporting', E_ALL...);

    error_log() 把错误信息写到某个指定文件

    trigger_error() 手动触发error

    escapeshellarg() 对SHELL命令字符串进行编码, 防止SHELL注入

    escapeshellcmd() 对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义

    printf()

    vprintf()

    sprintf()

    vsprintf() 可以认为数组形式的sprintf, 原来都是用call_user_func_array('sprintf', array()), 本函数可以直接搞定

    fflush($handle) 类似C语言的fflush

    flush() 刷新输出缓冲, flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响, 因此, 必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲

    注:

      个别web服务器程序, 特别是Win32下的web服务器程序, 在发送结果到浏览器之前, 仍然会缓存脚本的输出, 直到程序结束为止
      有些Apache的模块, 比如mod_gzip, 可能自己进行输出缓存, 这将导致flush()函数产生的结果不会立即被发送到客户端浏览器
      甚至浏览器也会在显示之前, 缓存接收到的内容例如 Netscape 浏览器会在接受到换行或 html 标记的开头之前缓存内容, 并且在接受到 </table> 标记之前, 不会显示出整个表格
      一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面, 所以必须发送一些额外的空格来让这些浏览器显示页面内容

    feof() 测试文件指针是否到了文件末尾

    fgetc($handle) 从文件指针中读取一个字符

    fgets($handle, $lengtn = 0) 从文件中读取一行

    fgetss($handle, $lenght = 0, $allowabletags = '') 与fgets基本相同, 但是会过滤掉HTML和PHP标记

    fgetcsv($handle, $length = 0, $delimiter = ',') 从csv文件中读取一行(或指定长度), 并解析到数组

    fputs() 向文件写入字符串, fwrite的别名

    fscanf() 从文件中格式化输入

    fprintf() 将格式化后的数据写入到流

    vfprintf() 向由 handle 指定的流资源句柄中写入根据 format 格式化后的字符串, 接收一个数组参数, 而不是一系列可变数量的参数

    fputcsv() 将数组格式化为csv格式写入到文件

    fpassthru() 输出文件指针处后的所有剩余数据

    fsockopen() 打开一个网络连接或者一个Unix套接字连接, 默认情况下将以阻塞模式开启套接字连接, 当然你可以通过stream_set_blocking()将它转换到非阻塞模式, 参考stream_socket_client()函数

    ftell() 获取文件指针所在位置

    fseek() 定位文件指针

    rewind() 重置文件指针

    ftruncate() 截取文件到指定长度(修改了源文件)

    fstat() 通过文件指针获取文件信息, 返回类似stat()函数

    长连接持续输出演示:

    <?php
        set_time_limit(0); //保证PHP程序超时不退出, 与客户端保持连接
        while (True) {
        echo '填写内容字节数>=4096的首次输出<br />';
        ob_flush();
        flush();
        sleep(1);
        }

    1.先ob_flush(), 再执行flush(), 如果Web服务器的操作系统是windows系统, 那顺序颠倒或者不使用ob_flush()也不会出现问题, 但是在Linux系统上就无法刷新输出缓冲

    2.一些Web服务器的output_buffering默认是4069字符或者更大, 即输出内容必须达到4069字符服务器才会flush刷新输出缓冲, 为了确保flush有效, 最好在ob_flush()函数前有以下语句(测试中只要第一次输出达到4096字节就可以), 以确保到达output_buffering值

    echo str_repeat(" ", 4096);

    插播几条长连接解决方案(得自:http://blog.jobbole.com/98902/)

      0.上面说的情况

      1.Ajax轮询

      优点
        实现简单。

      缺点
        这是通过模拟服务器发起的通信,不是实时通信,不顾及应用的状态改变而盲目检查更新,导致服务器资源的浪费,且会加重网络负载,拖累服务器。

      2、3、4为Comet:基于 HTTP 长连接的“服务器推”技术(参考:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/)

      2.HTTP 和JSONP方式的长轮询 建立一个script标签向服务器端发送请求, 在服务器端使用set_time_limit(0), While循环等待, 有事件时把内容发送回浏览器; 然后继续打开一个新的script标签获取下一个事件...

      3.XHR长轮询 客户端打开一个到服务器端的 AJAX 请求然后等待响应;服务器端需要一些特定的功能来允许请求被挂起,只要一有事件发生,服务器端就会在挂起的请求中送回响应并关闭该请求。客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接;如此循环。现在浏览器已经支持CROS的跨域方式请求,因此HTTP和JSONP的长轮询方式是慢慢被淘汰的一种技术,建议采用XHR长轮询。

      长轮询优点
        客户端很容易实现良好的错误处理系统和超时管理,实现成本与Ajax轮询的方式类似。
      长轮询缺点
        需要服务器端有特殊的功能来临时挂起连接。当客户端发起的连接较多时,服务器端会长期保持多个连接,具有一定的风险。

      4.iframe 是很早就存在的一种 HTML 标记, 通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。

      优点:
        这种方式每次数据传送不会关闭连接,连接只会在通信出现错误时,或是连接重建时关闭(一些防火墙常被设置为丢弃过长的连接, 服务器端可以设置一个超时时间, 超时后通知客户端重新建立连接,并关闭原来的连接)。

      缺点
        IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。

        Google 的天才们使用一个称为“htmlfile”的 ActiveX 解决了在 IE 中的加载显示问题,并将这种方法用到了 gmail+gtalk 产品中。Alex Russell 在 “What else is burried down in the depth’s of Google’s amazing JavaScript?”文章中介绍了这种方法。Zeitoun 网站提供的 comet-iframe.tar.gz,封装了一个基于 iframe 和 htmlfile 的 JavaScript comet 对象,支持 IE、Mozilla Firefox 浏览器,可以作为参考。

        我们常用的网页版的gtalk就是这种实现方式,Google的开发人员使使用一个称为“htmlfile”的 ActiveX 解决了在 IE 中的加载显示问题。

      5.comet实现框架CometD、Atmosphere、Pushlet

      6.websocket

      总结下来长轮询不是一个很好的方案,而且对于服务器而言是有风险的;另外支持WebSocket协议的浏览器都比较新,特比是IE需要10以上的版本;而我们的业务是面向于商家端,商家的浏览器版本相对较低,很多对WebSocket都不支持;相对而言Comet的方式比较适合,也有相应的实现框架,实现成本最低

    fileatime, filectime, filemtime

    fileowner, filegroup

    touch() 设定文件的修改和访问时间

    fileperms() 获取文件权限

    filetype() 获取文件类型 dir, file, link 等

    stat() 获取文件的基本信息(如上面几种信息(atime, ctime等)都会包含在返回结果中)

    lsstat() 与stat相同, 但是在文件名是符号链接时是不同的, stat会列出原文件的信息, lsstat会列出符号链接的信息

    clearstatcache() 其中stat和lsstat等函数会缓存文件的基本信息, 以便快速访问, 可以使用此函数清除缓存信息

    realpath() 返回绝对路径名

    glob() 查看所有匹配的文件名

    scandir() 列出指定路径中的文件和目录, 不必在opendir, readdir, closedir了

    register_shutdown_function() 注册PHP退出时执行的函数

    gc_collect_cycles() 强制执行垃圾回收

    gc_disabled() 停用垃圾回收

    gc_enable() 开启垃圾回收

    gc_enabled() 获取垃圾回收开启状态

    getmyuid() 获取PHP所有者的UID

    getmygid() 获取PHP所有者的GID

    getmypid() 获取本进程的ID

    getmyinode() 获取当前脚本的索引节点

    defined(__CLASS__ . '::CONSTNAME') 可以如此适用于类

    constant() 获取已定义的常量,适用于defind、类中const

    $class::constants($prefix); 获取类中以 $prefix 为前缀的常量

    get_current_user() 获取运行PHP用户的用户名

    get_browser() 获取浏览器相关信息列表

    get_cfg_var() 获取PHP配置信息 类似 ini_get()

    get_defined_constants() 获取所有已定义的常量名

    get_defined_vars() 获取所有已定义的变量名

    get_defined_functions() 获取所有已定义的函数名

    get_declared_classes() 获取所有已定义的类名

    get_declared_interfaces() 获取所有已定义的接口名

    get_class_vars() 获取类的所有属性及默认值

    get_object_vars() 获取一个对象的所有属性和值

    get_class_methods() 获取类或对象的所有方法

    get_extension_funcs() 获取某个扩展模块的所有方法

    get_parent_class() 获取一个类或对象的父类名

    is_subclass_of() 判断一个对象是否是一个类的子类的实例

    instanceof 判断一个对象是否是一个类或者其子类的实例

    property_exists() 检查对象是否具有某个属性

    get_include_path() 获取include path自动包含路径

    get_include_files() 获取所有被require和include的文件名, 同名get_require_files()

    get_meta_tags($filename) 获取一个html文件的所有meta标签

    get_html_translation_table() 获取htmlspecialchars()和htmlentities函数使用的转换码对应表

    get_headers() 获取一个URL的响应头信息

    get_resource_type() 获取一个资源类型变量的类型, mysql link, file, domxml document等

    getdate() 获取详细时间列表, 在分别获取多个date值的时候可以使用

    getenv() 获取一个环境变量的值

    putenv() 设置一个环境变量的值

    getprotobyname() 获取协议number

    getprotobynumber() 获取协议名

    getservbyname($service, $protocol) 通过协议名获取端口号

    getservbyport($port, $protocol) 通过端口号获取协议名

    getrandmax() 获取rand函数的最大随机数

    getopt() 从命令行参数中获取选项(比如与 ls -a -l -h 等类似) 值得一看

    getrusage() 获取资源使用情况, 比如swaps等使用情况

    memory_get_usage() 获取PHP内存使用情况

    gettype() 不可靠, 返回结果可能会被修改, 建议使用is_xxx系列

    settype() 设置变量类型

    highlight_file() 打印或者返回高亮后的PHP代码文件

    highlight_string() 打印或者返回高亮后的PHP代码字符串

    html_entity_decode() 反转由htmlentities格式化的数据

    htmlspecialchars_decode() 反转由htmlspecialchars格式化的数据

    http_build_query() 用数组生成urlencode之后的字符串

    parse_str() 解析query string到数组 parse_str(http_build_query(array('name' => 'John', 'sex' => 'F')), $output);var_dump($output);

    image_type_to_extension() 获取图像类型的文件后缀(已知道文件类型, 只是获取对应后缀)

    image_type_to_mime_type() 取得图像类型的 MIME 类型(已知道文件类型, 只是获取对应 MIME 类型) image_type_to_mime_type(IMAGETYPE_PNG);

    获取图片MIME类型

    getimagesize($imgFile); 获取文件大小及MIME类型等信息

    exif_imagetype($imgurl);通过exif扩展获取图片MIME类型等信息

    iptcembed($iptc, $imageFile)  将二进制 IPTC(作者, 版权, 字幕, 细节描述等元数据) 数据嵌入到一幅 JPEG 图像中

    iptcparse($iptc) 配合getimagesize获取到图像的IPTC数据, 然后使用此函数分解

    init_get_all([$extension, [$detail = True]]); 获取某项(比如session等)或者所有配置信息

    ini_restore($settingName);  恢复指定的配置选项到它的原始值

    is_a 类似 instanceof 判断是否是本类或者其父类的实例, 可以参考is_subclass_of

    is_nan 刚知道PHP中也有此类判断, Not A Number

    is_numeric 判断是否为数字或者数字字符串

    is_scalar 判断变量是否是一个标量

    is_soap_fault($result) 判断一个soap请求是否错误

    is_subclass_of() 判断一个对象是否是一个类的子类的实例

    json_last_error() 获取最后一次json_encode或者json_decode的错误码

    json_last_err_msg 获取最后一次json_encode或者json_decode的错误描述

    lcfirst() 与ucfirst相反, 使一个字符串的第一个字母小写

    mb_convert_encoding() 转换字符的编码

    mb_convert_variables() 转换多个变量的字符编码

    mb_detect_encoding() 检测一个字符的编码

    max(array $arr) 此函数可以使用以下两种类型

    max(mixed $a, mixed $b)

    md5_file() 获取文件的MD5校验值

    sha1() 对字符串进行sha1加密

    sha1_file() 获取文件的sha1加密后的值

    Memcache::setCompressThreshold(memcache_set_compress_threshold) 开启较大值自动压缩, 没必要对所有值都进行压缩(比如add('name', 'John', MEMCACHE_COMPRESSED)), 小值压缩后可能更大

    Memcached 一个比 Memcache 更新的类

    memory_get_peak_usage() 返回分配给PHP的内存的峰值

    memory_get_usage() 返回分配给PHP的内存量

    mt_srand() 给随机数播种, 自 PHP 4.2.0 起, 不再需要用 srand() 或 mt_srand() 给随机数发生器播种, 因为现在是由系统自动完成的

    mt_rand() 比rand函数生成更好的随机数

    mt_getrandmax() 获取mt_rand() 所能返回的最大的随机数

    function randomFloat($min = 0, $max = 1) {
        return $min + mt_rand() / mt_getrandmax() * ($max - $min);
    }

    money_format() 返回格式化后的金钱数额

    number_format() 返回格式化后的数值

    输出缓冲是可堆叠的, 这即意谓着, 当有一个 ob_start() 是活跃的时, 你可以调用另一个 ob_start() , 只要确保又正确调用了 ob_end_flush() 恰当的次数即可, 如果有多重输出回调函数是活跃的, 输出内容会一直按嵌套的顺序依次通过它们而被过滤

    ob_start([$output_callback]) 打开输出缓冲区, 如果指定了第一个参数, 当缓冲区内容被输出的时候, 将调用 $output = $output_callback($content), 并返回$output, 如果$output === False, 则会将内容原封不动的输出
    ob_get_status() 得到所有输出缓冲区的状态

    ob_list_handlers() 列出所有使用中的输出处理程序

    以下为可用的输出缓冲处理程序

    ob_gzhandler()

    ob_iconv_handler() 需要用iconv_set_encoding()设置iconv的internal_encoding和output_encoding

    ob_tidyhandler() 可以对内容加上HTML BODY等标签

    三种方式对输出的内容进行压缩, 以减少网络传输流量

    1、在php.ini中设置output_handler = ob_gzhandler
    2、在.htaccess中加入php_value output_handler ob_gzhandler
    3、在php文件头加上ob_start('ob_gzhandler');

    rawurlencode() 与urlencode不同的是不会把空格转为'+'

    rawurldecode() 解码

    setrawcookie() 与setcookie不同的是在发送到浏览器之前不会对内容进行urlencode编码

    levenshtein() 获取两个字符串间的编辑距离(复杂度是 O(m * n), m和n分别是两个字符串的长度)

    similar_text() 获取两个字符串间的相似度(复杂度是 O(N**3))

    sort, rsort, ksort, krsort, natsort, natcasesort, uksort, usort

    array_splice($data, $index, 0, array($item)) 在数组某个位置插入元素

    array_fill_keys($keys, $value) 把键名组成的索引数组, 转为键名和$value数组

    array_search($search, $searched) 在数组中搜索某个元素

    array_change_key_case() 更改数组键名大小

    array_column() 返回多维数组中某一列组成的数组

    array_combine() 将两个数组结合, 一个坐位键名, 一个坐位键值

    array_reduce() 用回调函数迭代的将数组简化为单一的值

    array_chunk() 数组按长度切割

    array_pad() 将数组补充到指定长度

    array_replace_recursive(),可以替代自己实现递归合并(array_merge_recursive)

    range() 快速生成数组

    str_split() 字符串按长度切割

    str_pad() 将字符串补充到指定长度

    str_repeat() 重复一个字符串n次

    strtr() 挨个转换字符或者str_replace($str, arrayFrom, arrayTo)

    strcmp, strncmp, strnatcmp

    strcasecmp, strncacecmp, strnatcasecmp

    str_getcsv() 解析 CSV 字符串为一个数组

    str_ireplace() 忽略字符串大小的字符串体会

    str_pad() 使用另一个字符串填充字符串为指定长度

    str_shuffle() 打乱一个字符串

    strspn($subject, $mask[, $start[, $length]]); 不论字符顺序,返回字符串$subject中,从$start处开始符合$mask中字符的子字符串长度。如果开始处的第一个字符不符合,那么返回的结果就是0!

    strcspn(string $str1 , string $str2 [, int $start [, int $length ]]); 不论字符顺序,返回字符串$str1中,从$start处开始,不符合$str2中字符的子字符串长度。如果开始处的第一个字符就符合,那么返回的结果就是0!

    strpbrk($str, $char_list) 以$char_list中最早出现的一个字符为分割, 并且返回字母及以后的字符串

    strtok($str, $token) 第一次以$token分割字符串,以后每次调用strtok($token)来获取子串

    substr_compare() 截取两个字符串的某一段进行比较, 比strncmp功能更强大一些

    substr_count() 统计一个字符串在另一个字符串中出现的次数

    substr_replace() 比str_replace多了偏移量和长度选项

    time_sleep_until($timestamp) 使脚本睡眠到指定的时间戳为止

    usleep() 以微秒数延迟执行

    //参数ticks表示运行多少语句(OPCODE)调用一次 register_tick_function 的函数,  即在 declare 代码段中解释器每执行 tick 条低级语句就会发生的事件(细节查看:http://blog.csdn.net/fwkjdaghappy1/article/details/7457687 或者 http://www.phppan.com/2013/02/php-ticks/)

    function aaa() {echo 'aaaa';}

    register_tick_function('aaa');

    declare(ticks = n) {

      ...

    }

    pack函数用于将其它进制的数字压缩到位字符串之中, 也就是把其它进制数字转化为ASCII码字符串

    JsonSerializable 当一个类实现JsonSerializable接口后, 可以增加jsonSerialize方法, 指定本类在json_encode的时候传入的数据

    SPL SPL是Standard PHP Library(PHP标准库)的缩写,需要好好学习!

    spl_autoload_call() 尝试调用所有已注册的__autoload()函数来装载请求类

    spl_autoload_functions() 获取所有已注册的__autoload()函数

    spl_autoload_register() 注册给定的函数作为__autoload()的实现

    spl_autoload_unregister() 注销已注册的__autoload()函数

    spl_classes() 返回所有的可用的SPL类

    spl_object_hash() 返回一个对象的hash id, 每个对象都是唯一的, 即使此对象以后被修改

    hash 可以指定哈希算法,但无需指定密钥

    hash_hmac 利用指定哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要输出

    手册中按字母顺序排列出所有扩展:alphabetical

    AMQP扩展

    Apache扩展

    BZIP2扩展 处理.bz2压缩文件

    ZLib扩展 处理压缩

    Ctype扩展

    DOM扩展

    Exif扩展 获取图像信息, 比如根据图像第一个字节, 并检查其签名, 获取图像类型(mime)的函数 exif_imagetype()

    GD、ImageMagick 图像扩展

    Mcrypt扩展,可以参考Yii的CSecurityManager类

    Opcode Descriptions and Examples了解Opcode操作

    PDO扩展 深入了解下

  • 相关阅读:
    day 66 ORM django 简介
    day 65 HTTP协议 Web框架的原理 服务器程序和应用程序
    jQuery的事件绑定和解绑 事件委托 轮播实现 jQuery的ajax jQuery补充
    background 超链接导航栏案例 定位
    继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素
    属性选择器 伪类选择器 伪元素选择器 浮动
    css的导入方式 基础选择器 高级选择器
    03-body标签中相关标签
    Java使用内存映射实现大文件的上传
    正则表达式
  • 原文地址:https://www.cnblogs.com/JohnABC/p/4496070.html
Copyright © 2011-2022 走看看