中国php新动力,Jwork框架即将发表

 更新时间:2016年11月25日 16:08  点击:1704

歌道“最近比较烦”,我云“最近比较忙”,但无论烦与忙,都不能阻止我对技术的追求,亦不能打断我要做中国开源事业的脚步。

作为我提出已久的jwork框架,终于,于2007年未,形成了php第一版。

Jwork框架分为三种语言:
Java版
.Net版
PHP版

目前,java和.net版处于研发阶段。php版jwork v1.0 for php初步计划于2008年2月1日正式开源。

Jwork框架的特点:
1、和其它框架相比,Jwork框架不需配置,不改变原有开发习惯。
2、Jwork框架是开发的经验集,集成了软件中开发中常用的API。
3、Jwork框架集成了Jpage分页,AJAX,HTML编辑器等。
4、充分提高开发效率,便于小组开发、协同开发。


Jwork v1.0 for php
jwork v1.0 for php是用于php开发的一个框架集。现将其功能简介如下:

1、集成Jpage,最优化的分页方案。
Jpage解决了海量和普通查询的需求,优化了软件结构,一句sql即可分页,为互联网上现有的最佳分页解决方案。

2、集成数据层DAO,最简单的数据操作。
一般而言,开发必要操作数据库。开发php就意味着要对mysql操作。出于此,Jwork框架v1.0集成了对mysql操作的封装。
对于插入数据,不需要写sql语句,只需指定列名,控件名即可。
对于修改数据,可实现表单自动回填,不需去给控件赋值。

3、集成了ajax框架,一句话即可实现ajax。
随着web2.0的发展,ajax的应用越来越广,jwork框架采用最原始、清晰的ajax实现,即简单方便的实现了ajax,又让ajax的各过程清晰可见。

4、集成众多研发者的多年开发经验。
jwork框架的一些工具类,时间类、上传类、邮箱类等API,集成了众多研发者的Java、.NET、PHP、ASP的web开发经验,你在开发中常遇到需求实现,在jwork框架中均有收录。

5、集成了开发中常用的JS和PHP验证方法,如email格式、手机格式、身份证格式的验证。
时间就是金钱,提供开发效率,不但可以让你收获财富,更可以让你轻松应对开发工作。



Jwork部分演示:


添加、修改演示:

function Add()
{
 $data = new MysqlDao(); 
 $filed="code_name,code_lang,user_id,

临时修改php.ini文件

ini_set("项目","值");

ini_set("output_buffering","0");
ob_start();
 



 

因为php4早就end了,所以是有必要切换到php5的了,所以有时调试需要整合一下了

做了一个脚本,让他们批处理一下就能自动切换了,方便的说

环境:

window XP SP2 +apache2.2.6 + PHP4.4.7 +PHP5.2.5

PHP4目录:E:webphp4

PHP5目录:E:webphp5

APACHE目录:E:webApache2.2

 

1.需要两个apache的httpd.conf文件,,因为apache2.2.6对php4.47支持不好,所以要另外加插件了.(参考:http://pakapaka.jp/softwareinfo/146.html)

php4的为: httpd_php4.conf

PHP5为:httpd_php5.conf

2. 准备两个批处理文件就可以了

变成php4:

 



copy php.ini c:windows
copy php4ts.dll c:windows
copy php4ts.lib c:windows
copy E:webApache2.2confhttpd_php4.conf E:webApache2.2confhttpd.conf

net stop apache2.2
net start apache2.2

 

 

变成php5

 



del  c:windowsphp.ini
del c:windowsphp4ts.dll 
del  c:windowsphp4ts.lib

copy E:webApache2.2confhttpd_php5.conf E:webApache2.2confhttpd.conf

net stop apache2.2
net start apache2.2

 

 

当然以上目录都是放在php4根目录下的,你只要根据目录修改就可以了



CGI&PHP

向CGI传递数据
===============================================
环境变量 REQUEST_METHOD
GET:
<a href="cgi-bin/myprog.exe?lname=blow&fname=joe">
QUERY_STRING
POST:由form产生传递的数据
-环境变量CONTENT_LENGTH表明长度
-CGI程序从stdin读入数据
===============================================

其他有用的环境变量
===============================================
HTTP_USER_AGENT 浏览器的软件版本
REMOTE_ADDRESS 浏览器的IP地址
REMOTE_HOST 浏览器的机器名
===============================================

CGI输出的数据
===============================================
非分析头标
-HTTP/1.0 200 OK
-Server:NCSA/1.0a6
-Content-type:text/html
-...
===============================================

内容类型MIME   text/css
===============================================
Application
Audio
Image
Text
Video
Multipart

===============================================


PHP
========================================================================
基本语法
===============================================
1 <?php echo("if you want to serve XHTML or XML documents,do you liken");?>
2 <? echo("this is the simplest,an SGML processing instructionn")?>
  <?=expression?>This is a shortcut for"<?echo expression?>"
3 <script language="php">
    echo("some editors(like FrontPage) don''t like processing instruction");
  </script>
4 <%echo("You may optionally use ASP-style tags");%>
  <%=$variable;#This is a shortcut for"<%echo ..."%>
===============================================

数据类型
===============================================
四种标量类型
 布尔型 boolean
 整型 integer
 浮点型 float
 字符串 string 可以用单引号 双引号 定界符
两种复合类型
 数组 array
 对象 object
最后是两种特殊类型
 资源 resource
 NULL
===============================================

定界符
===============================================
$str=<<<EOD
Example of string
spanning multiple lines
usin

<


1. 尽量采用大量的PHP内置函数。
2. echo 比 print 快。
3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
4. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5. 注销那些不用的变量尤其是大数组,以便释放内存。
6.  并非要用类实现所有的数据结构,数组也很有用。
7.   $row[‘id’]的效率是$row[id]的7倍。
8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10. 检查是否能用strncasecmp,strpbrk,stripos函数代替正则表达式完成相同功能。
11. str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12. 如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13.  使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
14.  用@屏蔽错误消息的做法非常低效。
15.   打开apache的mod_deflate模块。
16.   数据库连接当使用完毕时应关掉。
18.   错误消息代价昂贵。
19.  尽量不要在for循环中使用函数,比如for ($x=0; $x < count($array); $x)每循环一次都会调用count()函数。
20.   在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
21.   递增一个全局变量要比递增一个局部变量慢2倍。
22.   递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
23.   递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
24.    仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
25.  方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
26.  派生类中的方法运行起来要快于在基类中定义的同样的方法。
27.  调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
28.  用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。当然,只有当你不需要在字符串中包含变量时才可以这么做。
29.  用echo 输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。
30.  Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
31.  除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。
32. 尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码(OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
33. 当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
Ex.(举例如下)
if (strlen($foo) < 5) { echo "Foo is too short"; }
vs.(与下面的技巧做比较)
if (!isset($foo{5})) { echo "Foo is too short"; }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。
<
[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • 基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍

    这篇文章主要介绍了基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍 的相关资料,需要的朋友可以参考下...2016-05-14
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • .net数据库操作框架SqlSugar的简单入门

    这篇文章主要介绍了.net数据库操作框架SqlSugar的简单入门,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下...2021-09-22
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • CI框架开发新浪微博登录接口源码完整版

    首先来看下流程:流程原理: 1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三方登录表里面叫sina_id,那个表是需要自己建的) 2.查询第三方登录表,如果不存在用户sina_id,分2...2014-05-31
  • 记一次EFCore类型转换错误及解决方案

    这篇文章主要介绍了记一次EFCore类型转换错误及解决方案,帮助大家更好的理解和学习使用asp.net core,感兴趣的朋友可以了解下...2021-09-22
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • c# 常用框架汇总

    这篇文章主要介绍了c# 常用框架汇总,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...2021-04-24
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • 搭建php Laravel框架教程详解

    Laravel框架我们用到的不多了,但如果使用需要搭配了,下面我们来看一篇关于搭建php Laravel框架教程详解,具体的操作细节如下所示,希望对各位有帮助。 一、安装 Compos...2016-11-25
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • node.js爬虫框架node-crawler初体验

    这篇文章主要介绍了node.js爬虫框架node-crawler的相关资料,帮助大家利用node.js进行爬虫,感兴趣的朋友可以了解下...2020-10-29
  • Java SSM框架如何添加写日志功能

    这篇文章主要介绍了Java SSM框架如何添加写日志功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-25
  • PHP如何使用cURL实现Get和Post请求

    这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11