Delphi for PHP 使用评测

news/2024/7/1 18:18:26
delphi for php(以下简称dfp)开启后,界面与delphi非常相似,也十分容易上手,它提供了php的标准控件,并且在语言上使用的是纯php,与delphi本身并没有关系,之所以取dfp这个名字,也许是为了突出它的开发效率高。众所周知的,delphi是世界上开发效率最高的开发工具,dfp 也要走高效之路吧!再提一点,虽然dfp姓delphi,但是它用的语法类似于BCB。

刚使用时,遇到几个小问题,比如说无论怎么点击“run”按钮,始终无法像演示视频上那样弹出浏览器,其实这是IDE的一个小bug,必须到Tools->Options里面去设置一下浏览器才行,然后就能弹出浏览器了。这个IDE还是很强的,它支持现有的全部浏览器,包括IE,FireFox,NetScape等,甚至你自己编写的浏览器也能被dfp调用,并且正常工作,前提是你的浏览器能够接受ParamStr(1)参数。

另一个问题就是dfp的项目目录不能更改,我第一个项目是创建在了桌面上,但是怎么都运行不起来,但是我运行sample里的项目却很正常,然后我又仔细的看了一遍录像,发现演示的项目是创建在“我的文档”里的,我马上将自己的项目移了过去,一运行,果然可以!然后又做了一些测试,发现dfp的项目路径不能有Unicode字符,换言之就是不能有中文了。

下面再来说说它的开发方式,其实用过delphi的人都会用,它非常简单,拖出控件就行了,dfp的页面由于被VCL重写,还提供了其他的特性,比如说布局方式,非常类似于java,允许用XY布局,也允许用流式,或网格包布局。dfp和ASP.NET一样,是代码后置的,并且拥有事件驱动机制,事件不需要再像以往开发php那样,去参考一些手册,dfp将所有的事件都列出了,你只需要双击事件,就自动绑定,并生成相关的代码。

刚上手的人也许会说,dfp怎么不支持alert(),连个对话框都弹不出来,其实这些代码是要写在javascript事件里的,不能写在php事件里,代码就像这样:


alert('hello world!');

dfp还提供了开发php控件的功能,就和在BCB中开发控件差不多,如果你很熟悉BCB,那么开发控件是非常容易上手的。由于是php是一种动态网页,所以它里面的文件引用是不可见的,但是可以在dfp安装目录下的vcl文件夹内找到所有的文件,它们是完全开源的,也是VCL for php的核心部分。通过学习VCL for php,必然能使你使用dfp的能力大为提升。

dfp还是面向对象的,但是与通常的php的不同,它的对象配置是通用xml文件进行的,文件名为 xxx.xml.php,这个文件内列出了所有的页面对象与事件。在设计时,这个文件是不可见的,IDE把界面有关的东西都隐藏了,但是如果要对页面作细微的调整,修改xml是必然的。

总的来说,dfp是非常强大的,特别是对于那些专业做网站的人来说,dfp至少能让你节省一半以上的时间,对于那个512M的内存需求,几乎就可以无视了,我在一台配置很差的电脑上做了测试,内存128M,dfp一样能运行得好好的,运行,调试一样不差,而且不觉得慢。 



http://www.niftyadmin.cn/n/3653825.html

相关文章

zabbix3 0 源码安装server端详细过程

安装文档地址:https://www.zabbix.com/documentation/3.0/下载地址:http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/-->背景rpm安装上次,从rpm安装到放弃http://blog.csdn.net/mchdba/article/details/51226751 ,事后仔细想…

delphi for php 支持中文的方法

其实很简单的。。在Tool->Options中点击Editor Options,把use utf-8 to create new units and forms的勾去掉。然后再点击PHP,把default charset设为gb2312,再勾上set these values on php.ini。点击ok好了,现在放心的使用中文…

MySQL DBA 面试题目小结

总结了招聘MySQL DBA的第一轮基础面试题目,欢迎大家补充:1, mysql的复制原理以及流程。(1)先问基本原理流程,3个线程以及之间的关联。(2)再问一致性延时性,数据恢复。&am…

动态语言崛起 Delphi For PHP能否挽救Borland?

年年岁岁花相似,岁岁年年人不同。IT领域几乎每年都会有新的东西诞生。但每次又会给人们以不同的惊喜。这不,在刚刚过去了2006年,IBM和微软也先后推出了自己的新产品:Viper(DB2 9)和Vista。 然而,在2006年因为要卖掉自己…

MySQL5 7 利用keepalived来实现mysql双主高可用方案的详细过程

服务器准备Keepalived:192.168.13.15Keepalived:192.168.13.16Mysql-m1: 192.168.13.15Mysql-m2: 192.168.13.161,在m1、m2上准备mysql5.7环境在两台服务器上安装mysql5.7,安装mysql参考如下:http://blog.csdn.net/mchdba/article/details/51…

@Interceptor 铪铪铪铪铪铪铪

EJB3 為了可以支援 AOP ( swanky : AOP Presentation - http://www.ice.ntnu.edu.tw/~swanky/presentation/PL_AOP.pdf ) 所以建立了Interceptors 的觀念.不過, 雖然是放在 ejb3 api 的製作之中, 但是他的 package 為 javax.interceptor.*, 換句話說, 未來有機會可能會移出 ejb…

@Interceptors and inv.proceed()铪铪

寫了一個小程式測試了一下, Interceptors 他的流程StatelessInterceptors({AuditInterceptor.class, SecurityInterceptor.class})public class AuditInterceptor {AroundInvoke public Object auditOperation(InvocationContext inv) throws Exception {try {System.out.print…

PLSQL 经常自动断开失去连接的解决过程

问题背景:情况是这样的,很多开发同事的plsql上班时间开着8个小时,有时候他们出去抽烟后或者中午吃完饭,回来在plsql上面执行就报错无响应,然后卡住了半天动弹不了,非得重新登录plsql才生效,我猜…