易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : php

PHP >C++转换工具

   毋庸置疑,PHP是一种非常棒的动态网页制作语言,他和C的极高相似性,使得它的语法学起来
很容易,他有很多类似C语言库函数的东西,还有像日期,字符串和时间函数等,这使得它很容
易开发相当复杂的应用程序。
    当PHP应用到关键web站点上,如何保证质量将会变得很关键。然而,PHP并不是一种强类
型语言(带有变量和函数声明),静
态的错误检查是非常有限的。很多错误,像丢失函数参数,
只有在特定的函数行在运行时才会报错。
   通过把PHP转换为C++,非常好的静态检查特性(在经典C/C++中编译时报错和警告)将会
被应用于PHP。
   一个完全免费和重发布的工具以描述性的文章出现在2002.3月的Dr.Dobb's Journal上,在看
这个转换工具前,建议你先看看这篇文章。
    附:
      1.Dr.Dobb's Journal网址
           www.ddj.com
      2.使用c++编译器调试PHP
              www.ddj.com/cpp/184404995
  ......

PHP >C++转换工具

   毋庸置疑,PHP是一种非常棒的动态网页制作语言,他和C的极高相似性,使得它的语法学起来
很容易,他有很多类似C语言库函数的东西,还有像日期,字符串和时间函数等,这使得它很容
易开发相当复杂的应用程序。
    当PHP应用到关键web站点上,如何保证质量将会变得很关键。然而,PHP并不是一种强类
型语言(带有变量和函数声明),静
态的错误检查是非常有限的。很多错误,像丢失函数参数,
只有在特定的函数行在运行时才会报错。
   通过把PHP转换为C++,非常好的静态检查特性(在经典C/C++中编译时报错和警告)将会
被应用于PHP。
   一个完全免费和重发布的工具以描述性的文章出现在2002.3月的Dr.Dobb's Journal上,在看
这个转换工具前,建议你先看看这篇文章。
    附:
      1.Dr.Dobb's Journal网址
           www.ddj.com
      2.使用c++编译器调试PHP
              www.ddj.com/cpp/184404995
  ......

优化PHP程序

先我们了解一下我们的php程序是怎样执行的,首先他被编译为中间代码,然后中间代码被送入执行引擎执行,然后销毁。每个请求的中间代码在执行完之后被销毁,这样的好处在于他完全隔离了不同的请求,使内存使用率降低。但是这样的缺点也显而易见,因为他需要再重复请求一个界面的时候对一个代码连续编译两次,编译的中间代码没有一点复用性。
我们拿ZPS来说事,看他能提供什么优化功能:
一, 自动优化
,也就是我们的zend
optimizer提供的功能,他可以对中间代码进行优化,这些优化是语言方面的,将效率低的转化为效率高的,但他的优化目标只限定在中间代码,因此不会影响你编写的源代码。这个能提高20%左右的性能。
二,
代码编译缓存
,就是使中间代码更有复用性。因为他会把中间代码进行缓存,下次使用的时候就不需要编译了,这个有50%到300%的性能提升。
三,
动态内容缓存
,也就是把php代码执行完之后生成的内容进行缓存,这个适用于幂等的请求,而且请求不会对服务器端的数据造成修改,而只是get数据内容。这个提升效果最大,但对于个性化的界面不太适合,您可以选择使用部分缓存的方式,但明显提高了复杂度。
四,内容压缩
:他主要是提高HTTP的传 ......

php ajax debug method make log in a text file

log into file
//
ob_start();
echo "<pre>";
print_r($data);
echo "</pre>";
$a=ob_get_contents();
//DAL::remove("insert into mytest(vvv) values('$a')");
$filename = "file.txt";
$file = fopen($filename, "w"); //open file
fwrite($file, $a); //first line
fclose($file); //close
ob_end_clean();
//
......

php ajax debug method make log in a text file

log into file
//
ob_start();
echo "<pre>";
print_r($data);
echo "</pre>";
$a=ob_get_contents();
//DAL::remove("insert into mytest(vvv) values('$a')");
$filename = "file.txt";
$file = fopen($filename, "w"); //open file
fwrite($file, $a); //first line
fclose($file); //close
ob_end_clean();
//
......

HTTPService与PHP通信

在Flex中有2个HTTPService类,它们的完整继承路径分别是mx.rpc.http和mx.rpc.http.mxml,可以看出mx.rpc.http.mxml是mx.rpc.http的子类。mx.rpc.http.mxml中的httpService主要是为了MXML标签中使用HTTPService而设的。mx.rpc.http是在使用as脚本进行操作时使用。当调用 HTTPService 对象的 send() 方法时,将发出对指定 URL 的 HTTP 请求,并且返回 HTTP 响应。可以选择向指定 URL 传递参数。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。
send
()
方法
 
public function send(parameters:Object = null):AsyncToken
执行 HTTPService 请求。参数是可选的;但如果指定参数,所指定的值应该是包含名称/值对的 Object 或 XML 对象(取决于 contentType)。
参数
 
parameters:Object (default = null)
返回
 
AsyncToken — 表示异步完成标记的对象。该对象与 result 或 fault 事件的 token 属性中的对象相同。
setCredentials
()
方法
 
下面是一个使用HTTPService与PHP通信的例子,PHP返回一个XML文本串,FLex将这个XML串显示在DataGRid控件中。
Flex代码(注:下面的代码写在一个Flex模块中):
& ......

PHP魔术常量:__LINE__ __FILE__ __CLASS__

PHP 向它运行的任何脚本提供了大量的预定义常量
。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有五个魔术常量根据它们使用的位置而改变。例如 __LINE__
的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:
表 13-1. 几个 PHP 的“魔术常量”
名称
说明
__LINE__
文件中的当前行号。
__FILE__
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__
总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__FUNCTION__
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4
中该值总是小写字母的。
__CLASS__
类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4
中该值总是小写字母的。
__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
......

PHP中的stristr(),strstr(),strpos()速度比较


PHP中的stristr(),strstr(),strpos()速度比较

测速代码:

<?php
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();
$string="xxxddxx";
$find="d";
for ($i=0;$i<300000;$i++)
{
if (stristr($string,$find))//if (strstr($string,$find)) or if (strpos($string,$find))
{}
}
$time_end = getmicrotime();
echo $time_end-$time_start;
?>

[/php]


stristr()
第一次:2.74142408371
第二次:2.52075314522
第三次:2.52766990662

strstr()
第一次:1.43941402435
......
总记录数:2174; 总页数:363; 每页6 条; 首页 上一页 [249] [250] [251] [252] 253 [254] [255] [256] [257] [258]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号