首页 » 网站建设 » php建议体系技巧_给PHP开拓者的九条建议

php建议体系技巧_给PHP开拓者的九条建议

访客 2024-11-26 0

扫一扫用手机浏览

文章目录 [+]

1.紧张意识:安全

大多数时候,我们开拓的Web程序都是须要跟数据库打交道的,以是这里险些可以说SQL注入是一个怎么也无法避免要拿出来谈论一下的问题。
而且近年来像XSS和CSRF攻击也变得大行其道,使得"黑客"们貌似又有了一把把利器,而我们总是处于被动的状态。
不过我们要记得是下面这两个原则:

php建议体系技巧_给PHP开拓者的九条建议

1. 永久不要相信用户输入的东西。
2. 将自己须要输出的数据进行转义。

大略来说便是:filter input , escape output

php建议体系技巧_给PHP开拓者的九条建议
(图片来自网络侵删)

如果你是新手,不要再利用类似以下的查询语句了:

SELECT FROM users WHERE username = $_POST['username'] AND password = $_POST['password'];

还有便是,利用PDO或Mysqli吧,不要再利用老式的mysql操作了。

而对付,CSRF的办理方案,目前打仗的都是给每一次的表单提交都设置一个token值,然后在表单提交的时候校验之即可。

2.明确地知道各个比较操作符的差别

PHP的比较操作符,这实在可以说是一个很小的把稳点,但是在某些时候真的很主要。
比如说很多时候我们得考虑清楚,该用==还是===,如果你利用过strpos()这个函数,下面的代码可能会给你一个直不雅观的感想熏染:

<?php $authors = 'Chris & Sean'; if (strpos($authors, 'Chris')) { echo 'Chris is an author.';} else { echo 'Chris is not an author.';}

上面这段代码的运行结果实在是输出Chris is not an author,但是现实情形是,Chris & Sean真的是Author啊,怎么回这样呢?实在是这样的:Chris恰好涌如今Chris & Sean首位开始处,也便是0这个位置,以是substr()返回了,由于条件判断语句中bool判断,以是0作为了false处理,于是程序输出了Chris is not an author,但是在这种情形之下我们该怎么处理呢?我们实在可以这样的:

<?php if (strpos($authors, 'Chris') !== FALSE) { echo 'Chris is an author.';} else { echo 'Chris is not an author.';}

这里的!==和!=的不同就表示出来了。

3.可以减少利用else就少利用else

此处有误人子弟之嫌疑,请大家当心,还是自己喜好的那样好。

这个貌似从我一开始打仗编程就有的一个想法,由于每次看到if(){}else{}就有一种这一段实在可以写得更好的觉得,由于一旦你减少了利用else关键字,你得代码会减少两行!
没错,两行也是我们的追求,而且,从我的履历看,else少的代码貌似可读性更高,对我来说。

if( this condition ){$x = 5;}else{$x = 10;

如果,在$x的默认值是10,还是下面这样写觉得比较好:

$x = 10;if( this condition ){$x = 5; }4.利用一个好的IDE

对,我可以说便是IDE控,并且是JetBrains家的粉。
在开拓PHP运用的时候,我首先会推举大家利用PhpStorm,这么智能的IDE会帮你办理掉很多不必要的缺点,比如很多Laravel的初学者都会碰着类似:

App\Http\Controller\Article not found;

这样的缺点,你假如利用PhpStorm,自动就会帮你use App\Article;,又何必去受这些挫折和打击自己的自傲心?

5.多用str_replace()

在很多时候我们须要对一些字符串进行更换,在PHP中有以下几个函数可以达到这个目的:

str_replace()ereg_replace()preg_replace()

如果你确实是须要利用正则匹配,那就利用preg_replace(),而如果在可实现更换的情形下,请利用str_replace(),由于据不完备统计,str_replace()的效率在这三个当中是最高的。

6.利用三元运算符

这个可能很多人都有这个感想熏染,利用三元运算符之后,我们可以去掉一堆if else语句了,代码又短又爽。

$host = strlen($host) > 0 ? $host : htmlentities($host);7.利用缓存

目前PHP热门的缓存技能可能便是Redis和Memcached了,在PHP的官方文档中,也有Memcached的利用教程,至于Redis,我最近在研究中,后续会给出一些教程,如果统统顺利的话。

8.利用框架

框架的好处很多,可能是在性能方面有所丢失外,貌似找不到不用框架的情由了,框架即可以加快你的开拓速率,也可以让你在写代码的过程中撸的舒舒畅服,而且想很多安全问题,你都会得到很好的办理。
我这里首推Laravel,不过像Yii2 Slim Symfony都是非常棒的框架,除了Symfony没有尝过过之外,剩下的三个我都有利用经历,末了就基本是用Laravel了。
不过我建议的Laravel可能不适宜你,这还是得看个人喜好。

9.用isset()代替strlen()

如果你须要在项目代码中须要根据一个字符串的长度来做条件判断,这个时候非常推举你直策应用isset(),由于在同等条件之后,isset()的速率是strlen()的五倍旁边,以是:

<?php if (isset($username[5])) { // The username is at least six characters long.}if (strlen($username) >= 6) { // The username is at least six characters long.}

<?php if (isset($username[5])) { // The username is at least six characters long.}if (strlen($username) >= 6) { // The username is at least six characters long.}

以上的两个条件判断都是可以达到相同的目的,但是我推举利用的是第一种。

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读1 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读1 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0