php中120个内置函数
php中实现事件模式
https://yq.aliyun.com/ziliao/162660
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php class Event{ private $events = []; public function listen( $name , $callback ){ if (!key_exists( $name , $this ->events)) $this ->events[ $name ] = $callback ; } public function trigger( $name ){ if (key_exists( $name , $this ->events)){ call_user_func( $name ); } } } $eventManager = new Event(); function go(){ echo "go event happen!" ; } $eventManager ->listen( 'go' , 'go' ); //$eventManager->trigger('go'); var_dump(get_defined_functions()); |
------------------------------------------------------
D:\wnmp\www\vidagrid_iot\app\webroot\event.php:27:
array (size=2) 'internal' => array (size=1355) 0 =>
string
'zend_version' (length=12) 1 =>
string
'func_num_args' (length=13) 2 =>
string
'func_get_arg' (length=12) 3 =>
string
'func_get_args' (length=13) 4 =>
string
'strlen' (length=6) 5 =>
string
'strcmp' (length=6) 6 =>
string
'strncmp' (length=7) 7 =>
string
'strcasecmp' (length=10) 8 =>
string
'strncasecmp' (length=11) 9 =>
string
'each' (length=4) 10 =>
string
'error_reporting' (length=15) 11 =>
string
'define' (length=6) 12 =>
string
'defined' (length=7) 13 =>
string
'get_class' (length=9) 14 =>
string
'get_called_class' (length=16) 15 =>
string
'get_parent_class' (length=16) 16 =>
string
'method_exists' (length=13) 17 =>
string
'property_exists' (length=15) 18 =>
string
'class_exists' (length=12) 19 =>
string
'interface_exists' (length=16) 20 =>
string
'trait_exists' (length=12) 21 =>
string
'function_exists' (length=15) 22 =>
string
'class_alias' (length=11) 23 =>
string
'get_included_files' (length=18) 24 =>
string
'get_required_files' (length=18) 25 =>
string
'is_subclass_of' (length=14) 26 =>
string
'is_a' (length=4) 27 =>
string
'get_class_vars' (length=14) 28 =>
string
'get_object_vars' (length=15) 29 =>
string
'get_class_methods' (length=17) 30 =>
string
'trigger_error' (length=13) 31 =>
string
'user_error' (length=10) 32 =>
string
'set_error_handler' (length=17) 33 =>
string
'restore_error_handler' (length=21) 34 =>
string
'set_exception_handler' (length=21) 35 =>
string
'restore_exception_handler' (length=25) 36 =>
string
'get_declared_classes' (length=20) 37 =>
string
'get_declared_traits' (length=19) 38 =>
string
'get_declared_interfaces' (length=23) 39 =>
string
'get_defined_functions' (length=21) 40 =>
string
'get_defined_vars' (length=16) 41 =>
string
'create_function' (length=15) 42 =>
string
'get_resource_type' (length=17) 43 =>
string
'get_loaded_extensions' (length=21) 44 =>
string
'extension_loaded' (length=16) 45 =>
string
'get_extension_funcs' (length=19) 46 =>
string
'get_defined_constants' (length=21) 47 =>
string
'debug_backtrace' (length=15) 48 =>
string
'debug_print_backtrace' (length=21) 49 =>
string
'gc_collect_cycles' (length=17) 50 =>
string
'gc_enabled' (length=10) 51 =>
string
'gc_enable' (length=9) 52 =>
string
'gc_disable' (length=10) 53 =>
string
'bcadd' (length=5) 54 =>
string
'bcsub' (length=5) 55 =>
string
'bcmul' (length=5) 56 =>
string
'bcdiv' (length=5) 57 =>
string
'bcmod' (length=5) 58 =>
string
'bcpow' (length=5) 59 =>
string
'bcsqrt' (length=6) 60 =>
string
'bcscale' (length=7) 61 =>
string
'bccomp' (length=6) 62 =>
string
'bcpowmod' (length=8) 63 =>
string
'jdtogregorian' (length=13) 64 =>
string
'gregoriantojd' (length=13) 65 =>
string
'jdtojulian' (length=10) 66 =>
string
'juliantojd' (length=10) 67 =>
string
'jdtojewish' (length=10) 68 =>
string
'jewishtojd' (length=10) 69 =>
string
'jdtofrench' (length=10) 70 =>
string
'frenchtojd' (length=10) 71 =>
string
'jddayofweek' (length=11) 72 =>
string
'jdmonthname' (length=11) 73 =>
string
'easter_date' (length=11) 74 =>
string
'easter_days' (length=11) 75 =>
string
'unixtojd' (length=8) 76 =>
string
'jdtounix' (length=8) 77 =>
string
'cal_to_jd' (length=9) 78 =>
string
'cal_from_jd' (length=11) 79 =>
string
'cal_days_in_month' (length=17) 80 =>
string
'cal_info' (length=8) 81 =>
string
'ctype_alnum' (length=11) 82 =>
string
'ctype_alpha' (length=11) 83 =>
string
'ctype_cntrl' (length=11) 84 =>
string
'ctype_digit' (length=11) 85 =>
string
'ctype_lower' (length=11) 86 =>
string
'ctype_graph' (length=11) 87 =>
string
'ctype_print' (length=11) 88 =>
string
'ctype_punct' (length=11) 89 =>
string
'ctype_space' (length=11) 90 =>
string
'ctype_upper' (length=11) 91 =>
string
'ctype_xdigit' (length=12) 92 =>
string
'strtotime' (length=9) 93 =>
string
'date' (length=4) 94 =>
string
'idate' (length=5) 95 =>
string
'gmdate' (length=6) 96 =>
string
'mktime' (length=6) 97 =>
string
'gmmktime' (length=8) 98 =>
string
'checkdate' (length=9) 99 =>
string
'strftime' (length=8) 100 =>
string
'gmstrftime' (length=10) 101 =>
string
'time' (length=4) 102 =>
string
'localtime' (length=9) 103 =>
string
'getdate' (length=7) 104 =>
string
'date_create' (length=11) 105 =>
string
'date_create_immutable' (length=21) 106 =>
string
'date_create_from_format' (length=23) 107 =>
string
'date_create_immutable_from_format' (length=33) 108 =>
string
'date_parse' (length=10) 109 =>
string
'date_parse_from_format' (length=22) 110 =>
string
'date_get_last_errors' (length=20) 111 =>
string
'date_format' (length=11) 112 =>
string
'date_modify' (length=11) 113 =>
string
'date_add' (length=8) 114 =>
string
'date_sub' (length=8) 115 =>
string
'date_timezone_get' (length=17) 116 =>
string
'date_timezone_set' (length=17) 117 =>
string
'date_offset_get' (length=15) 118 =>
string
'date_diff' (length=9) 119 =>
string
'date_time_set' (length=13) 120 =>
string
'date_date_set' (length=13) 121 =>
string
'date_isodate_set' (length=16) 122 =>
string
'date_timestamp_set' (length=18) 123 =>
string
'date_timestamp_get' (length=18) 124 =>
string
'timezone_open' (length=13) 125 =>
string
'timezone_name_get' (length=17) 126 =>
string
'timezone_name_from_abbr' (length=23) 127 =>
string
'timezone_offset_get' (length=19)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现