Azalea 是一个基于 PHP7 下的 MVC 开发框架,源于早期 BPF 项目,经优化并由 C 语言重新实现成 PHP7 下的扩展,源代码可访问 https://github.com/hdwong/php-azalea
目录
Azalea\Bootstrap <small>应用启动类</small>
Azalea\Loader <small>装载类</small>
Azalea\Config <small>配置类</small>
Azalea\Controller <small>控制器类</small>
Azalea\Request <small>请求类</small>
Azalea\Response <small>响应类</small>
Azalea\Session <small>会话类</small>
Azalea\Model <small>模块类</small>
Azalea\ServiceModel <small>服务模块类</small>
Azalea\Views <small>视图类</small>
Azalea\Exception <small>异常类</small>
Azalea\RedisModel <small>node-beauty-redis 缓存服务模块</small>
Azalea\LocationModel <small>node-beauty-location 地区信息服务模块</small>
Azalea\MysqlModel <small>node-beauty-mysql 数据库服务模块</small>
命名空间全局常量
TIME
本次请求的开始时间戳
int Azalea\TIME
VERSION
Azalea 扩展的版本号
string Azalea\VERSION
命名空间全局方法
randomString
获取随机字符串
string randomString ( int $len [, stirng $type = null ] )
- 参数
$len - 随机字符串长度
$type - 随机类型
随机类型 | 模式 | 描述 |
---|---|---|
10 <small>或</small> n
|
<small>[0-9]</small> | 数字 |
16 |
<small>[0-9a-f]</small> | 十六进制字符 |
c |
<small>[a-zA-Z]</small> | 英文字符 |
l |
<small>[a-z]</small> | 小写英文字符 |
ln |
<small>[0-9a-z]</small> | 小写英文字符和数字 |
u |
<small>[A-Z]</small> | 大写英文字符 |
un |
<small>[0-9A-Z]</small> | 大写英文字符和数字 |
<small>默认值</small> | <small>[0-9a-zA-Z]</small> | 英文字符和数字 |
随机类型不区分大小写,即
n
和N
都指随机数字,lN
和Ln
都是相同意思,尽管如此,建议都使用全小写
返回值
随机字符串范例
$string = Azalea\randomString(4); // 生成 4 位随即字符串,包含大小写英文字符和数字
$string = Azalea\randomString(8, 'n'); // 生成 8 位随机数字
url
获取绝对路径
string url ( string $url [, bool $includeHost = false ] )
参数
$url - 路径
$includeHost - 是否产生包含域名的路径,默认为false
返回值
绝对路径范例
// 假设当前域名为 http://www.youmaibai.com/
$href = url('foo/bar', true); // 返回 http://www.youmaibai.com/foo/bar
timer
获取两次调用之间的秒数
float timer ( void )
通常用于耗时检查
参数
无返回值
与上次调用之间的秒数
如果是第一次调用则返回从接受请求到当前调用的总耗时
- 范例
Azalea\timer();
// do something...
$diff = Azalea\timer(); // 返回耗时
env
获取当前运行环境
string env ( void )
系统初始化时,可以由配置变量设置,如果未设置默认环境为
"WEB"
参数
无返回值
环境字符串范例
$environ = Azalea\env(); // 返回 "WEB"
ip
获取当前请求的 IP 地址
string ip ( void )
该方法是通过 $_SERVER
超全局数组中的值来获取,优先次序为:"HTTP_CLIENT_IP"
> "HTTP_X_FORWARDED_FOR"
> "REMOTE_ADDR"
// nginx 配置
proxy_set_header Client-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
参数
无返回值
当前请求的 IP 地址字符串
如果为 CLI (命令行) 环境 的请求,将返回
"0.0.0.0"
- 范例
$ip = Azalea\ip(); // 127.0.0.1