当前位置: 编程技术>php
本页文章导读:
▪Blitz templates 最快的PHP模板引擎
简介:Blitz templates 是一个用C语言开发的快速的PHP模板引擎,它是作为一个PHP的扩展功能。它开始作为一个php_templates更换,但发展到更多的工作。它是基于可扩展的模板控制器(自定义视图.........
▪PHP数组内存耗用太多问题的解决方法
因为这个是语言的问题,常规方案比较难以解决。下面是一种通过string 解决的方案。 代码如下: $total = 100000; $double = ""; for ($i = 0; $i < $total; $i++) { $double .= pack("d", $i + 0.1); } for ($i = 0; $i <.........
▪phpMyadmin 用户权限中英对照
数据: SELECT:允许读取数据。 INSERT:允许插入和替换数据。 UPDATA:允许更改数据。 DELETE:允许删除数据。 FILE:允许从文件中导入数据以及将数据导出至文件。 结构: CREATE:允许创建新.........
[1]Blitz templates 最快的PHP模板引擎
来源: 互联网 发布时间: 2013-11-30
简介:
Blitz templates 是一个用C语言开发的快速的PHP模板引擎,它是作为一个PHP的扩展功能。它开始作为一个php_templates更换,但发展到更多的工作。它是基于可扩展的模板控制器(自定义视图类在PHP )和简单的逻辑 。基准测试表明,这是最快的一个PHP的模板引擎,使Web应用程序更接近于一个聪明的MVC 结构模型,最大从您的代码分离出HTML。 这是专为大高负荷的有许多复杂的演示文稿的逻辑的互联网项目。
下图是几个模板的性能测试结果:
示例模板代码:
index.html
index.html
Html代码
代码如下:
<html>
<head><title>{{ $title }}</title></head>
<body>
{{ include('header.tpl') }}
{{ list_news() }}
{{ include('footer.tpl') }}
</body>
</html>
index.php
代码如下:
<?php
$view = new Blitz('index.html');
function list_news(){
....
}
$view -> parse();
?>
下载地址: http://sourceforge.net/projects/blitz-templates/files/
[2]PHP数组内存耗用太多问题的解决方法
来源: 互联网 发布时间: 2013-11-30
因为这个是语言的问题,常规方案比较难以解决。下面是一种通过string 解决的方案。
$total = 100000;
$double = "";
for ($i = 0; $i < $total; $i++)
{
$double .= pack("d", $i + 0.1);
}
for ($i = 0; $i < $total; $i++)
{
unpack("@" . ($i * 8) . "/d", $double);
}
这个例子用一个string 保存一个double 的数组。然后在使用的时候unpack出来。
当然,这会影响性能。要看具体的需求。
比如这样的情况下:
你有10个数组,每个数组10M (1百万数据左右),那么十个要花费 100M内存。
再加上10个人并发的话,内存就会严重不够了。
然后,在10个数组,不是每次都同时使用的。你可以,把他们保存成string
然后,在使用的时候,unpack某一个string变成一个数组。
代码如下:
$total = 100000;
$double = "";
for ($i = 0; $i < $total; $i++)
{
$double .= pack("d", $i + 0.1);
}
for ($i = 0; $i < $total; $i++)
{
unpack("@" . ($i * 8) . "/d", $double);
}
这个例子用一个string 保存一个double 的数组。然后在使用的时候unpack出来。
当然,这会影响性能。要看具体的需求。
比如这样的情况下:
你有10个数组,每个数组10M (1百万数据左右),那么十个要花费 100M内存。
再加上10个人并发的话,内存就会严重不够了。
然后,在10个数组,不是每次都同时使用的。你可以,把他们保存成string
然后,在使用的时候,unpack某一个string变成一个数组。
[3]phpMyadmin 用户权限中英对照
来源: 互联网 发布时间: 2013-11-30
数据:
SELECT:允许读取数据。
INSERT:允许插入和替换数据。
UPDATA:允许更改数据。
DELETE:允许删除数据。
FILE:允许从文件中导入数据以及将数据导出至文件。
结构:
CREATE:允许创建新数据库和表。
ALTER:允许修改现有表的结构。
INDEX:允许创建和删除索引。
DROP:允许删除数据库和表。
CREATE TEMPORARY TABLES:允许创建暂时表。
SHOW VIEW:显示执行 SHOW CREATE VIEW 的查询。
CREATE ROUTINE:允许创建存储过程。
ALTER ROUTINE:允许修改或删除存储过程。
EXECUTE:允许运行存储过程。
CREATE VIEW:允许创建视图。
管理:
GRANT:允许添加用户和权限,而不允许重新载入权限表。
SUPER:允许在达到最大连接数时连接,对于大多数像设置全局变量或杀死其它用户线程这样的管理操作是必需的。
PROCESS:允许查看所有用户的进程。
RELOAD:允许重新载入服务器设置并刷新服务器的缓存。
SHUTDOWN:允许关闭服务器。
SHOW DATABASES:允许访问完整的数据库列表。
LOCK TABLES:允许锁定当前线程的表。
REFERENCES:在此版本的 MySQL 中无效。
REPLICATION CLIENT:用户有权询问附属者/控制者在哪里。
REPLICATION SLAVE:回复附属者所需。
CREATE USER:允许创建、删除和重命名用户账户。
SELECT:允许读取数据。
INSERT:允许插入和替换数据。
UPDATA:允许更改数据。
DELETE:允许删除数据。
FILE:允许从文件中导入数据以及将数据导出至文件。
结构:
CREATE:允许创建新数据库和表。
ALTER:允许修改现有表的结构。
INDEX:允许创建和删除索引。
DROP:允许删除数据库和表。
CREATE TEMPORARY TABLES:允许创建暂时表。
SHOW VIEW:显示执行 SHOW CREATE VIEW 的查询。
CREATE ROUTINE:允许创建存储过程。
ALTER ROUTINE:允许修改或删除存储过程。
EXECUTE:允许运行存储过程。
CREATE VIEW:允许创建视图。
管理:
GRANT:允许添加用户和权限,而不允许重新载入权限表。
SUPER:允许在达到最大连接数时连接,对于大多数像设置全局变量或杀死其它用户线程这样的管理操作是必需的。
PROCESS:允许查看所有用户的进程。
RELOAD:允许重新载入服务器设置并刷新服务器的缓存。
SHUTDOWN:允许关闭服务器。
SHOW DATABASES:允许访问完整的数据库列表。
LOCK TABLES:允许锁定当前线程的表。
REFERENCES:在此版本的 MySQL 中无效。
REPLICATION CLIENT:用户有权询问附属者/控制者在哪里。
REPLICATION SLAVE:回复附属者所需。
CREATE USER:允许创建、删除和重命名用户账户。
最新技术文章: