- 浏览: 129679 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zzzhenyu:
您好,我现在也遇到了同样的问题,请问你后来知道为什么了吗?
error at ::0 can't find referenced pointcut allMethod
来源:互联网 作者:网络转载 发布时间:2008-10-19
过去的几周对我来说是一段相当复杂的经历。我们公司进行了大裁员,我是其中之一,但却体验到了其中的乐趣。我从来没有被开除过,所以很难不去想 得太多。我开始浏览招聘板块,一个全职PHP程序员的职位很吸引人,所以我寄去了简历并获得了面试机会。在面试之间,我和其主要的程序员们在咨询电话中聊 了聊,最后他们给我出了一套测试题,其中有一道很耐人寻味。
找出以下代码的错误之处:
以下为引用的内容:
<?
function baz($y $z) {
$x = new Array();
$x[sales] = 60;
$x[profit] = 20:
foreach($x as $key = $value) {
echo $key+" "+$value+"<BR>"$
}
}
|
你能找到几个呢? phperz.com
如果你发现函数参数列表中少了逗号、“new Array()”是不正确的、行末用了冒号而不是分号、foreach中没有用“=>”及用“+”来连接字符串,那恭喜你,你找到了所有的错误,你已经掌握了PHP编程的基础。 php程序员站
现在我来说说我是怎么回答这道题的。我当然也找出了以上这些问题,但我更进一步。比如,你有没有发现在数组索引里没有用引号将字符串括起来?虽 然这不会造成严重错误,但这是一个编码错误。另外,你注意到在echo一行它使用了双引号而不是单引号吗?使用了PHP开始标志的缩写形式?并且没有用 “<br/>”而是用了“<BR>”?
在找出了实际错误后,我又在上面找到的问题后面加了注释。这足够让这份答卷从“正确”转变为“发人深省”了,这也给我的申请加了不少分,所以他 们决定聘用我。(但最后我拒绝了,因为我喜欢紧凑的生活节奏,并将自己的PHP技能奉献给我的客户,而不是一家涉猎电信市场的公司。我需要一个舞台来大展 身手。)
那么接下来就来看看我写的10条PHP编程习惯吧:
1、使用单引号括起来的字符串
当使用双引号来括字符串时,PHP解释器会对其进行变量替换、转义等操作,如“\n”。如果你只想输出一个基本的字符串,就用单引号吧,这样会节省一些资源。当然,如果你需要进行变量替换的,那就必须用双引号了,但其他情况下还是用单引号吧。 php程序员站
2、字符串的输出
你认为以下哪一条语句的运行速度最快? php程序员之家
print "Hi my name is $a. I am $b"$$
echo "Hi my name is $a. I am $b"$$
echo "Hi my name is ".$a.". I am ".$b;
echo "Hi my name is ",$a,". I am ",$b;
echo 'Hi my name is ',$a,'. I am ',$b;
也许这看起来很奇怪,但事实上最后一条的运行速度是最快的。print比echo要慢,在字符串中进行变量替换时会慢,而连接字符串要比用逗号 连接来得慢,最后一句则是第一个习惯的体现。所以,不在字符串中进行变量替换不仅会加快程序运行速度,也会让你的代码在任何语法高亮显示的编辑器中显得更 为易懂(变量会被高亮显示出来)。很少人知道echo的参数可以用逗号连接,且速度会比字符串连接要来得快。最后再用上第一个习惯,那这条语句就非常好 了。 www.phperz.com
3、在数组索引中使用单引号
正如你在上面的测试题中所看到的,我指出了$x[sales]从严格意义上来说是错误的,索引应该被括起来,即$x['sales']。这是因 为PHP会将没有括起来的索引辨认为“裸”字符串,并把它解释为一个常量。当找不到该常量的定义时,才将其解释为一个字符串,所以这条语句才是可运行的。 把索引括起来可以省去这部分工作,如果将来正好要用这一字符串定义常量时也就不会有错误了。我甚至听说这样做要快七倍左右的时间,虽然我没有亲自测试过。 更多关于这一话题的讨论,请看PHP手册“数组 ”一章中的的“数组的能与不能”一节。
4、不要使用开始标志的缩写形式
你正在使用这样的符号吗?“<?”是非常糟糕的符号,它会引起与XML解释器的冲突。而且一旦你发布了这些代码,那么使用者就必须修改php.ini文件来打开对此符号的支持。所以实在没有理由去使用这种形式。用“<?php“吧。
5、尽量不要使用正则表达式
在进行常规的字符串操作时,尽可能不要去使用正则表达式(preg和ereg系列函数)。str_replace函数要比preg_replace快得多,甚至strtr函数也要比str_replace来得快。省去这些不必要的麻烦吧,你的老板会感谢你的。 www.phperz.com
6、不要在循环声明中使用函数
这个问题不单单出现在PHP中,你可以在其他语言的代码中经常看到:
差:for($i=0;$i<count($array);$i++){...}
好:$count=count($array);for($i=0;$i<$count;$i++){...}
这因该很好解释,但许多人就是想少写一行代码而浪费了系统资源。如果在循环声明中使用了count函数,那每次循环都会调用一次。如果你的循环次数很多,那就会浪费非常多的时间。
7、永远不要使用register_globals和magic quotes php程序员站
这是两个很古老的功能,在当时(十年前)也许是一个好方法,但现在看来并非如此。老版本的PHP在安装时会默认打开这两个功能,这会引起安全漏 洞、编程错误及其他的问题,如只有用户输入了数据时才会创建变量等。如今这两个功能都被舍弃了,所以每个程序员都应该避免使用。如果你过去的程序有使用这 两项功能,那就尽快将其剔除吧。 php程序员之家
8、一定要对变量进行初始化 (这里的“初始化”指的是“声明”——译者注)
当需要没有初始化的变量,PHP解释器会自动创建一个变量,但依靠这个特性来编程并不是一个好主意。这会造成程序的粗糙,或者使代码变得另人迷 惑,因为你需要探寻这个变量是从哪里开始被创建的。另外,对一个没有初始化的变量进行递增操作要比初始化过的来得慢。所以对变量进行初始化会是个不错的主 意。 phperz.com
9、对代码进行注释
这个问题已经提过很多次了,但再多次也不够。我知道有些地方是不聘用不对代码进行注释的程序员的。我在前一次工作面试后和副总、面试官一起浏览我写的代码,当他们对我所做的代码注释印象深刻,还了解了一下我的这一习惯。一天之后,我得到了这个工作。
我知道有些自称为PHP大师的人声称自己的代码写得很好,不需要添加什么注释。在我看来,这些人都是垃圾。学一写注释的规范和技巧,熟悉一下phpDocumentor 或Doxygen 之类的注释辅助软件,都是值得的。
10、遵循一个编程规范
关于这一点,是你需要在面试中询问你潜在的老板的,问问他们正在使用什么编程规范。PEAR ?Zend ? 内部规范?要提及你正在使用的编程规范,不管是你自己创建的,还是目前普遍流行的一种。对于PHP这种松松垮垮的语言来说,如果没有一个好的编程规范,那 么那些代码就会看起来想一堆垃圾。发臭的,令人作呕的垃圾。一些基本的规范包括空格规范、打括号匹配、命名风格等。这对任何一个追求高质量的代码的人来说 都是必须的。
有人说:“我讨厌你的4个空格的缩进。”我要说,什么?用4个空格来缩进?这比用制表符过占用3个字符的空间。更重要的是,只要是使用比记事本 高级的编辑器,你可以自定义制表符的缩进值。所以每个程序员都可以以其最习惯的方式来看代码。可以时设置为4,也可以设置为0(如果你是个受虐狂)。反正 我不在乎,但你就是不能用空格来缩进!
总的来说,我希望以上这些编程习惯可以对你有所帮助。如果你想在面试中留下好印象,只需要一些小细节就可以了。
本文转自网络,其观点不代表本站立场 php程序员站
发表评论
-
看PHP如何实现多关键字加亮
2012-04-27 21:30 860实现代码: conn.php <?php ... -
SAFE MODE Restriction in effect 的问题
2012-04-27 20:36 767当safe_mode设置为 on,PHP 将通过文件函数或 ... -
DIRECTORY_SEPARATOR
2012-04-20 15:46 0DIRECTORY_SEPARATOR php的内 ... -
分享经常用到的21个PHP函数代码段
2012-04-20 15:11 981下面介绍的是,在PHP 开发中,经常用到的21个函数代码段,当 ... -
php连接mssql的一些方法总结
2012-04-05 08:20 860为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP, ... -
提高PHP代码的性能10条建议
2012-03-27 09:58 610这篇文章中的建议涵盖了大部分PHP 代码性能方面的问题。如果 ... -
php 数组使用详解
2012-03-23 12:14 618PHP的数组函数众多,下 ... -
php全世界国家数组
2012-03-23 11:31 1555<?php //global cou ... -
PHP 5的mysqli扩展
2012-02-21 17:53 1007在通常情况下,使用PHP 构建的应用系统都是搭配着M ... -
PHP中基本符号及使用方法
2012-02-18 10:20 776核心提示:用这么久了,竟然PHP的基本符号都没有认全,看到@号 ... -
Zend Studio 9.0.1破解.rar
2012-02-17 22:11 0Zend Studio 9.0.1破解 -
PHP中define和defined的区别
2012-02-17 08:20 1065PHP中define和defined的区别 对于初学者会混淆 ... -
PHP中define和defined的区别
2012-02-16 19:22 0PHP中define和defined的区别 对于初学者会混淆这 ... -
PHP中define和defined的区别
2012-02-16 19:22 0PHP中define和defined的区别 对于初学者会混淆这 ...
相关推荐
编程入门是许多初学者...总之,编程入门需要明确学习目标,选择合适的语言和工具,注重理论与实践相结合,培养良好的编程习惯,并利用网络资源进行持续学习和交流。通过这样的步骤,你将逐步成长为一名熟练的程序员。
了解并适应不同的开发环境,有助于找出最适合自己的工具,提高工作效率。 5. 使用版本控制系统:版本管理工具如CVS、Subversion、Git、Visual SourceSafe等,是协作开发的必备工具。优秀程序员会利用这些工具管理...
同时,你可以从中学习到良好的编程习惯,如代码注释、错误处理和安全性措施,这些都是专业Web开发者所必备的。 总的来说,这个压缩包提供了丰富的学习资源,无论是初学者还是有一定经验的开发者,都能从中受益。...
每个开发者的习惯不同,Eclipse 允许用户自定义工作空间的设置。你可以调整代码风格、错误警告级别、快捷键等,使其更加符合个人需求。此外,还可以配置PHP解释器路径、服务器设置等,以适应不同的开发环境。 ### 8...
易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语句,降低了编程的门槛,使得非计算机专业背景的人也能快速上手。PHP则是一种广泛应用的开源脚本语言,尤其在Web开发领域中占有重要地位。当这两者结合...
《NetBeans 7.2 ML PHP Windows:代码编辑利器》 NetBeans 7.2 ML PHP Windows是一款专为Windows平台设计的PHP开发工具,它集成了强大...无论你是初学者还是经验丰富的开发者,NetBeans都能成为你不可或缺的开发伙伴。
5. 自定义配置:用户可以根据自己的需求定制编辑器的主题、快捷键,以适应个人的工作习惯。 【标签】:“最小最强的PHP编辑器” 这个标签可能是对某种特定编辑器的评价或者是对该类编辑器的归类,表明它在众多PHP...
在PHP开发过程中,调试工具是不可或缺的伙伴,它们帮助开发者追踪代码执行流程,查找并修复错误,提升编程效率。...在实际工作中,不断学习和熟练掌握这些调试技术,可以显著提高我们的编程质量和效率。
>`,这样可以确保你的代码在任何服务器环境下都能正常工作,提高代码的兼容性。 2. **错误报告与调试**:当遇到问题时,PHP提供了`error_reporting()`函数,可以设置显示错误级别,帮助开发者找出代码中的错误。...
PHP的内置安全函数和良好的编程习惯有助于提高系统的安全性。 - **可扩展性**:随着学校规模的增长,系统可能需要扩展新的功能,如添加新的约束条件或优化目标。设计时应采用模块化和面向对象的方式,以保证系统的...
阿里云短信服务是一款高效、稳定、安全的云通信产品,主要为企业和开发者提供发送短信验证码、通知短信等服务。在本文中,我们将详细介绍如何在PHP...保持良好的编程习惯和仔细的调试,能够帮助你顺利地完成集成工作。
总的来说,PHP开发工具集成了多种功能,旨在帮助开发者更高效、更便捷地进行PHP编程。选择合适的开发工具并进行合理的配置,可以极大地提升开发体验,同时也有助于团队协作和项目的长期维护。而“bestphper.icls”...
本文将基于"web前端和PHP开发面试题"的主题,详细阐述相关知识点,以帮助求职者或开发者提升技能,顺利通过面试。 Web前端是构建网站用户界面的核心部分,主要涉及HTML、CSS和JavaScript这三种核心技术。HTML...
本文将基于"公司招聘PHP程序员面试题"这一主题,详细阐述PHP面试中可能涉及的知识点,帮助求职者做好充分准备。 1. PHP基础概念: - PHP全称:Hypertext Preprocessor(超文本预处理器),是一种开源、跨平台的...
【PHP调试与优化小技巧】 调试是编程过程中不可或缺的一部分,特别是对于PHP这样的脚本语言,良好的调试技巧能显著提升开发效率。...同时,良好的编程习惯和代码组织也有助于项目的长期可持续发展。
4. **安全实践**:除了使用扫描工具,还应遵循良好的编程习惯,如参数化查询、输入验证、输出编码等,以增强应用安全性。 5. **结合其他安全措施**:在线扫描只是安全防护的一部分,还需要结合防火墙、入侵检测系统...
1. **PHP编程语言**:作为后台开发的主要语言,PHP是一种广泛使用的开源脚本语言,特别适合Web开发,可以嵌入到HTML中使用。其语法简洁,学习曲线较平缓,且拥有丰富的扩展库,支持MySQL数据库交互,是构建动态网站...
【标题】"基于PHP的MyMPSPHP分类信息系统UTF8源码" 提供的是一个用PHP编程语言开发的分类信息系统的源代码,该系统支持UTF8编码,这意味着它可以处理多种语言,尤其对于处理多语种的网站是非常重要的。在本文中,...