设为首页 收藏本站
查看: 759|回复: 0

[经验分享] 10条Tips助你成为优秀的PHP开发者

[复制链接]

尚未签到

发表于 2017-4-11 10:13:27 | 显示全部楼层 |阅读模式
如今PHP已经成为了最流行的web开发语言,数以百万计的网站使用PHP开发,其中不乏一些鼎鼎有名的站点,如Facebook、Wikipedia等,以及一些知名的CMS,如WordPress、Joomla和Drupal等。
    对于PHP开发者来说,提高编码水平相当重要。本文分享一些开发经验,以帮助你成为一名优秀的PHP开发者。
    1. 优先使用PHP核心函数和类创建自己的函数之前,请务必查看PHP手册。使用PHP的核心函数,可以帮你节省大把时间。例如,没有必要去创建一个用于RSS订阅的XML解析器,你可以利用PHP的XML解析器函数。
    2. 一定要创建一个配置文件不要将你的数据库连接设置分散到每个PHP文件中,你可以使用一个配置文件,这样可以使你的代码更加模块化,更易于维护。你只需创建一个数据库配置文件,然后在PHP文件中引用即可,以后可以很方便地更改连接信息。
    3. 经常净化将进入数据库的数据SQL注入是PHP开发者面临的一个很大的威胁。大多数PHP开发者使用MySQL作为数据库。因此,首先你应该对“注入”有一个充分的认识。你可以使用PHP的mysql_real_escape_string函数来避免SQL注入,还可以在mysql_real_escape_string中使用htmlspecialchars来转义HTML字符,这样不仅可以保护数据库,还可以保护站点免遭XSS攻击。
    4. 始终开启错误报告(Error Reporting)在项目开发阶段,要始终保持error_reporting是开启的,这样可以在运行时显示错误,帮助你快速确认错误发生的原因。
    你可以在php.ini文件中通过下列设置来开启错误报告功能:
       error_reporting(E_ALL);
   也可以在脚本中通过PHP ini函数来开启:
       ini_set(‘error_reporting’, E_ALL);
   5. 不要过度注释你的代码没有必要为每一行代码都添加上注释,只需注释代码中难以理解的部分即可,以便你以后查看时知道代码的作用。像MySQL数据库连接这样的代码就没必要注释了。
    6. 使用三元运算符尝试使用三元运算符来代替if/else语句。三元运算符可以使你的代码更简洁,更易于浏览。但要注意,一个语句中最多使用一个三元运算符。使用三元运算符的语句:
$yourname= (empty($_POST['name'])) ? ‘default’ : $_POST['name'];
类似的if/else语句:
if (empty($_POST['name'])) {
$youraction = ‘default’;
} else {
$youraction = $_POST['name'];
}
    7. str_replace()比ereg_replace()和preg_replace()更好str_replace()函数在替换字符串方面要比正则表达式更有效。事实上,str_replace()比ereg_replace()和preg_replace()的效率要高出60%。但是,如果你正在使用正则表达式的话,ereg_replace() 和preg_replace()会比str_replace()快很多。
    8. 使用isset代替strlen如果你要检查一个字符串的长度,请使用isset来代替strlen。通过使用isset,你的调用将快6至40倍。此外,使用isset时,即使变量不存在,你的调用也将有效。
    9. 使用一个PHP框架可供你选择的PHP框架有很多,像CakePHP、Zend、Symfony、CodeIgniter等,这些框架集成了大部分常用的功能需求,可以帮助你提高开发的效率,节省开发时间。
    10. 使用Memcached如果你需要开发一个数据库驱动的网站,Memcached 可以有效提升网站的速度。Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。你可以在PHP.net站点找到有关memcached的详细教程

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-363282-1-1.html 上篇帖子: php 必要基础知识温补之 变量地址的传递 下篇帖子: PHP:字符串变量中大括号(花括号{})的作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表