数码资讯
PHP开发的9点建议
本文只是从实际发展经验中总结一些个人经验。它不是一个名言警句。它有两个目的:第一,总是提醒自己根据这些知识点编写自己的代码,两个是共享的,也许它对你有用。 1。基本意识:安全 大多数时候,我们开发的Web程序需要处理数据库。所以我们几乎可以说,SQL注入是一个问题,这是不可避免的要讨论。近年来,像X
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文只是从实际发展经验中总结一些个人经验。它不是一个名言警句。它有两个目的:第一,总是提醒自己根据这些知识点编写自己的代码,两个是共享的,也许它对你有用。
1。基本意识:安全
大多数时候,我们开发的Web程序需要处理数据库。所以我们几乎可以说,SQL注入是一个问题,这是不可避免的要讨论。近年来,像XSS,CSRF攻击已经变得越来越流行,使黑客似乎有一个锋利的武器,我们总是处于被动状态。但我们必须记住以下两个原则:
1。永远不要相信用户输入的内容。
2。更改需要输出的数据。
简单地说,过滤输入,转义输出
如果您是新手,请不要再次使用以下查询:
选择用户,用户名为$ _post { 'username}和密码= $ _post { 'password};
另外,使用PDO或mysqli,不要使用旧的MySQL。
CSRF的解决方案,目前的接触是设置为每个表单提交的令牌值,然后检查它当提交表单。
2。清楚地知道各种比较运算符之间的区别。
PHP's comparison operator, in fact, is a small point of attention, but it's really important at some time.For example, most of the time we have to think clearly, the = = = = = or, if you have used strpos () this function, the following code may give you an intuitive feeling:
< PHP
作者'chris美元=肖恩;
如果(strpos(合作者,'chris ')){
echo'chris是作者。;
{人}
echo'chris不是作者。;
}
上述代码的运行结果实际上是输出克里斯不是一个作者,但现实是Chris Sean是真正的作者。它怎么能做到呢是这样的:克里斯只出现在第一个Chris Sean开始,这是0在这个位置,所以substr()返回,因为布尔条件判断语句,以便处理0错误,所以克里斯的输出不是一个程序的作者,但在这种情况下,我们应该怎么做我们可以这样做:
< PHP
如果(strpos(合作者,'chris)!= false){
echo'chris是作者。;
{人}
echo'chris不是作者。;
}
在这里!=和!=差异反映。
三.可以减少使用其他较少使用的其他
这似乎是从我初次接触编程的想法,因为每一次我看(){ } { }一样,有一种感觉,这一段可以写得更好,因为一旦你减少其他关键字的使用,你将得到两行代码。是的,两线是我们的追求,从我的经验,那么其他的代码看起来更具可读性,我。
如果(这种情况)
{
$ x=5;
}
其他的
{
$ x=10;
如果x的默认值是10,写下面的内容感觉更好。
$ x=10;
如果(这种情况)
{
$ x=5;
}
4。删除不必要的括号
这里的目的实际上与其他关键字部分相同。我们的目标是更短的代码和更好的可读性。对于下列情况,您应该考虑优化代码。
如果($ llum = = 'halfling){
身高—;
}
事实上,它可以是这样的。
如果($ llum = = 'halfling ')$的高度;
你甚至可以这样做:
如果($ llum = = 'halfling ')$的高度;
其他高度;
如果($佛罗多!=死点)
echo'sh darnit,再索伦;
foreach($杀达数)
echo'lelas再次罢工,使。因为我的美元数!;
有没有一种短暂而清晰的感觉
超过5。使用str_replace()
在很多时候,我们需要替换一些字符串,PHP中有几个函数可以实现这个目标:
str_replace()
ereg_replace()
preg_replace()
如果你真的需要使用正则匹配,使用preg_replace(),如果你能代替它,用str_replace(),因为不完全统计表明,str_replace效率()是在最高的三。
6。使用三元素运算符
这对许多人来说可能是一种感觉,在使用了三美元操作符之后,我们可以删除一堆if if语句,代码简短而酷。
为主机= strlen($主持人)> 0美元主持人:htmlentities($主机);
7。使用缓存
目前,流行的PHP缓存技术可能是Redis和Memcached。在PHP的官方文件,也有Memcached使用教程。至于Redis,我已经在最近的研究提供了一些教程,如果一切顺利。
8。使用框架
许多福利框架可能会丢失在性能方面,似乎找不到任何理由,框架,该框架可以加快你的开发速度,也可以让你在舒适的在写代码的过程,也让许多安全问题,你会是一个好办法,我是促进Laravel第一,但yii2苗条Symfony是一个了不起的框架。在symfony中没有尝过,剩下的三有经验,并在结束时,他们基本上使用laravel。但我认为Laravel可能不适合你,这取决于你的个人喜好。
9。不是所有用isset()()
如果你需要进行条件判断项目代码中根据一个字符串的长度,它是非常推荐你使用isset()直接在这个时间,因为在同等条件下,isset()的速度大约是五倍,strlen(),所以:
< PHP
如果(isset($用户名{ 5 })){
用户名至少有六个字符。
}
如果(strlen($用户名)> = 6){
用户名至少有六个字符。
}
上述两个条件可以被认为是相同的目的,但我建议第一个。
这一切都是本文的全部内容。我希望你能喜欢它。
1。基本意识:安全
大多数时候,我们开发的Web程序需要处理数据库。所以我们几乎可以说,SQL注入是一个问题,这是不可避免的要讨论。近年来,像XSS,CSRF攻击已经变得越来越流行,使黑客似乎有一个锋利的武器,我们总是处于被动状态。但我们必须记住以下两个原则:
1。永远不要相信用户输入的内容。
2。更改需要输出的数据。
简单地说,过滤输入,转义输出
如果您是新手,请不要再次使用以下查询:
选择用户,用户名为$ _post { 'username}和密码= $ _post { 'password};
另外,使用PDO或mysqli,不要使用旧的MySQL。
CSRF的解决方案,目前的接触是设置为每个表单提交的令牌值,然后检查它当提交表单。
2。清楚地知道各种比较运算符之间的区别。
PHP's comparison operator, in fact, is a small point of attention, but it's really important at some time.For example, most of the time we have to think clearly, the = = = = = or, if you have used strpos () this function, the following code may give you an intuitive feeling:
< PHP
作者'chris美元=肖恩;
如果(strpos(合作者,'chris ')){
echo'chris是作者。;
{人}
echo'chris不是作者。;
}
上述代码的运行结果实际上是输出克里斯不是一个作者,但现实是Chris Sean是真正的作者。它怎么能做到呢是这样的:克里斯只出现在第一个Chris Sean开始,这是0在这个位置,所以substr()返回,因为布尔条件判断语句,以便处理0错误,所以克里斯的输出不是一个程序的作者,但在这种情况下,我们应该怎么做我们可以这样做:
< PHP
如果(strpos(合作者,'chris)!= false){
echo'chris是作者。;
{人}
echo'chris不是作者。;
}
在这里!=和!=差异反映。
三.可以减少使用其他较少使用的其他
这似乎是从我初次接触编程的想法,因为每一次我看(){ } { }一样,有一种感觉,这一段可以写得更好,因为一旦你减少其他关键字的使用,你将得到两行代码。是的,两线是我们的追求,从我的经验,那么其他的代码看起来更具可读性,我。
如果(这种情况)
{
$ x=5;
}
其他的
{
$ x=10;
如果x的默认值是10,写下面的内容感觉更好。
$ x=10;
如果(这种情况)
{
$ x=5;
}
4。删除不必要的括号
这里的目的实际上与其他关键字部分相同。我们的目标是更短的代码和更好的可读性。对于下列情况,您应该考虑优化代码。
如果($ llum = = 'halfling){
身高—;
}
事实上,它可以是这样的。
如果($ llum = = 'halfling ')$的高度;
你甚至可以这样做:
如果($ llum = = 'halfling ')$的高度;
其他高度;
如果($佛罗多!=死点)
echo'sh darnit,再索伦;
foreach($杀达数)
echo'lelas再次罢工,使。因为我的美元数!;
有没有一种短暂而清晰的感觉
超过5。使用str_replace()
在很多时候,我们需要替换一些字符串,PHP中有几个函数可以实现这个目标:
str_replace()
ereg_replace()
preg_replace()
如果你真的需要使用正则匹配,使用preg_replace(),如果你能代替它,用str_replace(),因为不完全统计表明,str_replace效率()是在最高的三。
6。使用三元素运算符
这对许多人来说可能是一种感觉,在使用了三美元操作符之后,我们可以删除一堆if if语句,代码简短而酷。
为主机= strlen($主持人)> 0美元主持人:htmlentities($主机);
7。使用缓存
目前,流行的PHP缓存技术可能是Redis和Memcached。在PHP的官方文件,也有Memcached使用教程。至于Redis,我已经在最近的研究提供了一些教程,如果一切顺利。
8。使用框架
许多福利框架可能会丢失在性能方面,似乎找不到任何理由,框架,该框架可以加快你的开发速度,也可以让你在舒适的在写代码的过程,也让许多安全问题,你会是一个好办法,我是促进Laravel第一,但yii2苗条Symfony是一个了不起的框架。在symfony中没有尝过,剩下的三有经验,并在结束时,他们基本上使用laravel。但我认为Laravel可能不适合你,这取决于你的个人喜好。
9。不是所有用isset()()
如果你需要进行条件判断项目代码中根据一个字符串的长度,它是非常推荐你使用isset()直接在这个时间,因为在同等条件下,isset()的速度大约是五倍,strlen(),所以:
< PHP
如果(isset($用户名{ 5 })){
用户名至少有六个字符。
}
如果(strlen($用户名)> = 6){
用户名至少有六个字符。
}
上述两个条件可以被认为是相同的目的,但我建议第一个。
这一切都是本文的全部内容。我希望你能喜欢它。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。