关于作者

用户名:letsflytogether
笔名:letsflytogether
地区:

日历  

快速登录

+ 用户名:
+ 密 码:

我的博采 我的论坛 我的RSS

文章索引

在线留言



个人网站

技术网站

休闲娱乐

学习网站

访问统计:436
文章个数:5
评论个数:1
留言条数:0



Powered by BlogDriver 2.1

琴剑楼

 

每个人都有潜在的能量, 只是很容易: 被习惯所掩盖, 被时间所迷离, 被惰性所消磨。

文章

php.MVC系列教程之处理流程
本文以一个实例讲解了php.MVC的对一个用户请求处理过程。今天领导老是来查看我的工作,搞得我写起来时断时续,希望不会有太多错误,呵呵。

- 作者: letsflytogether 2005年01月5日, 星期三 09:02  回复(1) |  引用(0) 加入博采

php.MVC系列教程之框架介绍
本文介绍了php.MVC的框架结构,并分析了其优缺点。

一、介绍
        php.MVC是一个开放源代码的Web应用框架,实现了模型-视图-控制器(MVC)设计模式,鼓励基于Model2架构的应用程序设计。这种开发模式允许网页或其他显示内容从内部应用程序代码中分离出来,让网页设计者和程序员更容易地集中于他们各自的专业领域。
        这个框架提供了一个单独入口点的控制器。这个控制器接受HTTP请求,并根据配置文件分配给相应的动作处理。模型则包含了应用程序的业务逻辑。当请求处理完成,控制器调用相应的显示组件——通常用模板文件来实现。处理结果返回给客户端浏览器,或者通过另外的协议比如SMTP。
        php.MVC是用PHP来实现Jakarta Struts框架,目前它支持Struts的许多特性,包括通过XML解析器实现XML与对象的映射,从而设置应用程序的配置参数。比如在XML配置文件中指定各种业务逻辑组件与对应的显示组件之间的映射。

                                                                      图1

图1所示的逻辑图描述了框架的高层结构。
可以看出框架包括三个主要的组件:前端控制器、主控制器和动作分配器。
二、优/缺点

优点:
1. php.MVC是一个开源项目能让你完全接触源代码,使开发者能更深入的了解其内部实现机制。
2. 使用php.MVC可以促进模块化开发,促使开发者和设计者的角色分离,提高代码的重用性和可维护性。
3. php.MVC框架的学习可以借鉴Jakarta Struts的一些知识和经验,如果你有开发Struts的经验,那么就可以快速地用php.MVC来进行开发。
4. MVC模式是Java开发Web应用程序的一个设计标准,使用php.MVC框架还有助于Web开发者理解MVC设计模式。
缺点:
1. php.MVC功能仍在不段变化和完善中,你需要随时关注最新版本。
2. 使用php.MVC需要进行额外的学习过程。
3. 应用php.MVC可以得到清晰的程序结构,但也会增加系统复杂度。
4. 应用php.MVC可以让程序更加有条理,但也会降低程序执行速度。

因此你需要根据项目大小、周期、成本,开发人员素质等众多条件来决定是否应用php.MVC框架。

- 作者: letsflytogether 2005年01月5日, 星期三 08:53  回复(0) |  引用(0) 加入博采

php.MVC系列教程之安装配置
本文描述了如何安装APACHE+PHP Web服务器,以及如何配置php.MVC。

php.MVC必须安装在PHP v 4.1.0及以上版本的Web服务器上

Windows(Apache 2.0.51+php-4.3.9-Win32)

1.从http://www.apache.org下载相应的Apache版本。

2.从http://www.php.net下载相应的PHP版本。

3.从http://www.phpmvc.net下载相应的php.MVC版本。

4.建立目录c:\www作为Web服务器目录,c:\webapp作为Web根目录,
你也可以定义自己的目录,以下作相应的修改即可。

5.将Apache安装到c:\www,打开浏览器,在地址栏输入http://localhost测试是否安装成功
注意:如果你的系统上已经安装有其他Web服务器(如IIS 5),且占用了80端口,请先停止该服务器。

6.把PHP压缩包解压到c:\www。

7.将c:\www\php-4.3.9-Win32目录下php.ini-dist拷贝到系统目录如c:\winnt中并更名为php.ini,
将php4ts.dll拷贝到系统目录如c:\winnt\system32中,打开c:\www\Apache Group\Apache2\conf目录下http.conf文件,
在ScriptAlias /cgi-bin/ "c:/www/Apache Group/Apache2/cgi-bin/"下加入
ScriptAlias /php/ "c:/www/php-4.3.9-Win32/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
并将DocumentRoot "c:\www\Apache Group\Apache2\htdocs"改为DocumentRoot "c:/webapp"

8.把php.MVC压缩包解压到c:\webapp

9.打开c:\webapp\phpmvc目录下Main.php文件,修改如下内容
// Set php.MVC library root directory
$appServerRootDir = 'c:\webapp\phpmvc'; // no trailing slash
// Set the application path
$moduleRootDir    = 'c:\webapp\phpmvc'; // no trailing slash

// Set the OS Type [Optional] [UNIX|WINDOWS|MAC] if we have
// trouble detecting the server OS type. Eg: path errors.
$osType = 'WINDOWS';
确认c:\webapp\phpmvc\WEB-INF目录下phpmvc-config.data有可写权限。
打开浏览器,在地址栏输入http://localhost/phpmvc/Main.php?do=stdLogon测试是否安装成功。

10.要查阅更为详细的安装文档,请看http://www.phpmvc.net/docs/installIdx.php?doc=all

11.实例安装(2004-12-30)
注意:本实例应用程序要求类库版本问php.MVC Beta 0.3.4或更高

(1).下载应用程序: php.MVC Users Guide 101 example.

(2).解压缩到Web根目录,比如:C:\webapp\SalesReports

(3).检查/WEB-INF/.htaccess文件的访问属性.

(4).编辑Main.php文件,设置php.MVC类库路径及应用程序路径,如下:
 $appServerRootDir = 'C:/webapp/phpmvc'; // no trailing slash
 $moduleRootDir = 'C:/webapp/SalesReports'; // no trailing slash

(5).测试应用程序.访问地址http://localhost/SalesReports/Main.php?do=salesReport

技巧:
a.如果出现访问路径错误,请设置Main.php中操作系统类型变量$osType = 'WINDOWS';//or UNIX
b.如果出现Call to a member function on a non-object in \WEB-INF\classes\phpmvc\utils\BootUtils.php错误,请先删除/WEB-INF/phpmvc-config.data文件内容,然后手动修改一下phpmvc-config.xml,比如加一个空格(只需要让php.MVC检测出该文件已经修改过,需要重新生成phpmvc-config.data文件即可).

- 作者: letsflytogether 2005年01月5日, 星期三 08:49  回复(0) |  引用(0) 加入博采

php.MVC系列教程之前言
在学习应用PHP的过程中,我深刻体会到了PHP中文资料的匮乏,虽然自己接触PHP的时间不长,但也愿为PHP的宣传与推广尽绵薄之力,希望更多的PHP爱好者加入到这一行列中来。时间仓促,水平有限,不足之处望大家批评指正。
      ASP,JSP,PHP是WEB开发的三大技术,三种技术优缺点也早就有人分析过了。无非也就是ASP简单易用且有microsoft做靠山,JSP功能强大是因为有java支持,PHP则开源跨平台。在国内,ASP应用范围最广,JSP发展势头最猛,PHP则处于劣势。这可能与公司的支持以及技术的培训有关。
      由于公司项目的需要,我这才接触PHP,用过一段时间后两点体会最深刻,一是学习容易,上手极快,内置函数很多,适合快速开发;二是学习资料匮乏,普及不广,很多时候都要去看英文文档。
      对于中小型WEB应用来说,PHP有很强的竞争力,LINUX+APACHE+MYSQL+PHP(LAMP)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,JSP的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来,对应的PHP也有php.MVC,但是我搜遍了网络也没有发现一篇中文文档,这才让我动了翻译用户指南念头,也算是抛砖引玉,希望PHP能够在国内蓬勃发展起来。
      php.MVC是PHP Web应用程序的一个开源框架,它实现了模型-视图-控制器(MVC)设计模式——Web应用程序的工业标准,鼓励基于Model2架构的应用程序设计。这种开发模式允许网页或其他显示内容从内部应用程序代码中分离出来,让设计者和程序员更容易地集中于他们各自的专业领域。这个框架提供了一个单独入口点的控制器。这个控制器接受HTTP请求,并根据配置文件分配给相应的动作处理。
      模型包含了应用程序的业务逻辑,控制器负责处理请求,并转向到相应的显示组件——将HTML和PHP标签的结合起来的模板文件。处理结果返回给客户端浏览器,或者通过另外的协议比如SMTP。
      php.MVC是用PHP来实现Jakarta Struts框架,目前它支持Struts的许多特性,包括申明应用程序的配置参数通过XML解析器。比如在XML配置文件中指定各种业务逻辑组件与对应的显示组件之间的映射。

php.MVC的网站地址http://www.phpmvc.net

- 作者: letsflytogether 2005年01月5日, 星期三 08:47  回复(0) |  引用(0) 加入博采

软件公司建设初期需要重视的几点工作

这是我在工作一年后写的工作感想


    由于我是工科机械专业毕业,似乎机械已经成了我大脑的本能,这里,我打算对比软件开发与机械加工,谈谈自己对于软件部建设的一些拙见。
    1.开发环境的搭建与更新。
    如果我们要办一个机械加工厂,在建好了厂房后,首先需要安装各种加工机械,比如车床、刨床、铣床、数控机床等等。软件公司也同样应该建立一套成熟稳定的开发环境作为其开发基础。这包括操作系统平台、项目管理工具、系统建模工具、程序开发工具、系统测试工具、数据库工具等等,并且要作到适时更新。只有保持了开发环境的稳定才能保证技术的稳定,从而保证了公司的软件开发的能力。
    2.开发规范的制定与修改。
    在安装好了各种机器后,要先着手制定各工种的操作规范。这些标准文件,可根据国家标准,也可借鉴前人经验。只有建立好了这些规范后,才能保证以后的工作高效、安全地进行。同样,软件公司也应该建立自己的规范文件,比如软件文档编写规范、数据库设计规范、命名规范、编码规范。这些规范文件,也要根据实际项目的修改而完善。有了这样的标准文件,才能使员工开发有法可依,工作步调一致;才能使公司内部交流容易;才能提高产品的可读性和可维护性。
    3.资源库的建立与维护。
    接下来的工作就是准备标准件了。一般的机器,都离不开螺丝、螺钉、齿轮、弹簧等标准件,我们不可能在用到该零件的时候再马上去制作一个,这样既延误工期,也容易造成各种零件标准不一,使以后机器的保养维修不易。一般都是通过购买或预先组织人员加工的方式来建立标准件库,才能做到有备无患。软件公司也应该建立自己的资源库,这既包括常用功能模块设计、常用控件、常用函数的代码库,也包括图标库、图片库、语言手册库等。这样不但可以提高代码可重用性进而提高开发效率,而且使用经过严格测试的代码还可以提高代码质量进而提高产品质量,降低软件测试维护费用。
    4.人才的选拔和培养。
    人才对于企业发展的重要性就不用我多言了。现代企业人才制度已经不是选择最优秀的人才,而是选择最合适的人才。企业应该量体裁衣,根据员工的爱好培养其特长发挥其优势。企业应该着力培养出系统架构师、数据库专家、高级美工、高级程序员这样的高技术人才,首先要在企业内部创造一个积极向上的学习氛围,适时表彰上进好学的员工,鼓励员工技术创新。然后要为员工提供学习资源,不断充实书籍库,可以建立FTP服务器让员工共享网络学习资源。为员工提供技术培训的机会,也可经常组织员工进行技术讨论。企业更应该为员工提供展示的舞台,使员工能做到各展其才、各尽其能,这不管对于个人的发展还是企业的发展都是极为有益的。
    5.开发文档的获取与管理。
    现在我们可以根据客户需求由设计人员画出图纸,施工员根据图纸做出加工计划,按照计划安排各部门加工零件。然后安排测试人员测试加工好的零件,并完成测试报告。接着安排安装调试人员把通过测试的零件组装成机器,并完成调试。最后把合格的机器送出加工车间,并把所有文档归档。以后若遇到类似的机器就可以参考该文档从而提高效率。软件开发也如此,一个项目完成后开发人员得到的除了薪水和奖金外还有就是大脑中的经验。而软件开发文档,则就是企业获得的经验。要不,项目完成后随着开发人员的离去企业也就失去了宝贵开发经验。由此可见开发文档不单对于项目的维护是必要的,就是对于企业的持续发展,也是非常重要的。当一个公司文档整理到相当数量后,就可以建立自己的专家系统,这对于控制项目进度、成本、质量有非常大的参考价值。最终,我们设计出制造软件的软件那也是可能的。
    6.软件工程管理的规范化
    软件工程管理和其它工程管理相比有其特殊性。首先,软件是知识产品,进度和质量都难以度量,生产效率难以保证,进而成本难以控制。因此,软件项目的失败70%是由于管理不善而引起,而并不是因为实力不够。这其中的主要原因有:需求定义不明确;缺乏一个好的软件开发过程;没有经常注意改善软件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制;软件升级暴露了硬件的缺点;关心创新而不关心费用和风险等。经过多年的研究,有关机构已经找到了软件开发的规律,制定了一些规范可以有效控制软件开发过程,比如CMM\PSP\TSP认证标准。企业只有做好了规范化管理,才能提高开发效率从而降低开发成本,提高产品质量进而提高客户满意度,从而提高企业竞争力。印度软件起步比中国晚,技术比中国差,但现在却成为世界第二大软件出口国就是因为他们一直很重视软件工程管理的规范化。

- 作者: letsflytogether 2005年01月4日, 星期二 12:57  回复(0) |  引用(0) 加入博采