Zephir调用函数
2016-03-05 00:00
274 查看
原文链接:Zephir调用函数
#Zephir调用函数
PHP中提供了丰富的函数库以供使用,在Zephir中调用PHP函数只需要这样使用:
你也可以调用一个可能会存在的函数或者由用户定义的函数。
要注意的是PHP的函数只接受和返回动态类型的变量,如果你传入一个静态类型的变量,会自动的创建一个动态类型的变量。
类似的,函数返回动态类型的变量时不能直接赋值给静态类型的变量。
Zephir也提供了一个方法用来动态的调用函数:
#Zephir调用函数
PHP中提供了丰富的函数库以供使用,在Zephir中调用PHP函数只需要这样使用:
namespace MyLibrary; class Encoder { public function encode(var text) { if strlen(text) != 0 { return base64_encode(text); } return false; } }
你也可以调用一个可能会存在的函数或者由用户定义的函数。
namespace MyLibrary; class Encoder { public function encode(var text) { if strlen(text) != 0 { if function_exists("my_custom_encoder") { return my_custom_encoder(text); } else { return base64_encode(text); } } return false; } }
要注意的是PHP的函数只接受和返回动态类型的变量,如果你传入一个静态类型的变量,会自动的创建一个动态类型的变量。
namespace MyLibrary; class Encoder { public function encode(string text) { if strlen(text) != 0 { // an implicit dynamic variable is created to // pass the static typed 'text' as parameter return base64_encode(text); } return false; } }
类似的,函数返回动态类型的变量时不能直接赋值给静态类型的变量。
namespace MyLibrary; class Encoder { public function encode(string text) { string encoded = ""; if strlen(text) != 0 { let encoded = (string) base64_encode(text); return '(' . encoded . ')'; } return false; } }
Zephir也提供了一个方法用来动态的调用函数:
namespace MyLibrary; class Encoder { public function encode(var callback, string text) { return {callback}(text); } }
相关文章推荐
- Zephir闭包
- Zephir静态分析
- floyd_warshall 算法.
- 星盾科技-2016年3月3日
- 星盾科技-2016年3月4日
- CSS3鼠标移入移出图片生成随机动画
- python之装饰器
- 异常安全,RAII与C++11
- GoLang 文件写入方式效率对比
- 微软收购Xamarin,你怎么看?
- 选择蜂窝教育Java培训 开启技术人生
- PAT (Advanced Level) Practise 1023 Have Fun with Numbers (20)
- C# 函数引用传递(址传递)ref、out以及值传递之间的运行效率问题
- 微信常见问题
- Cron表达式参数以及Cron表达式测试工具
- JAVA实现K-means算法
- UNION 和 UNION ALL 的区别与效率
- select min(id),max(id) from table 该如何优化 ~
- CENTOS 网络配置详解
- 5.2 Spring核心机制--依赖注入