热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

写出10以内的奇偶数php,10个PHP开发的优良习惯

1多阅读手册和源代码没什么比阅读手册(php.net)更值得强调的事了。仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。就在这些函数里面包

1 多阅读手册和源代码

没什么比阅读手册(php.net)更值得强调的事了。

仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。

就在这些函数里面包括许多有用的功能。

如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”。

而实际上你只需要一个核心函数就可以完成相应的功能。

手册是你的朋友。

另外,现在有很多使用PHP开发的开源程序。

为什么不去学习和借鉴呢?

下载一份开源的PHP应用程序的源代码,仔细阅读它吧。

也许越大的项目越值得去阅读,虽然它们也许有更复杂的结构和系统,但也有更详细的解释文档。

2 编写模块化代码

良好的PHP代码应该是模块化的代码。

PHP的面向对象的编程功能是一些特别强大的工具,可以把你的应用程序分解成函数或方法。

函数或方法简练越好,函数越小越独立,起复用性也更高。

应该尽可能将服务器端和前端的HTML代码分开。

也可以在任何PHP框架上遵循MVC(模型-视图-控制器)模式。

3 代码编写规范

良好的PHP代码应该有一套完整的代码编写规范。

通过对变量和函数的命名,统一的方法访问数据库和对错误的处理。

以及同样的代码缩进方式等来达到编程规范,这样可以使你的代码更具可读性。

不管是PHP-FIG PSR,还是内部规范。

都可以,总之要遵循一个。

对于PHP这种松松垮垮的语言来说,如果没有一个好的编程规范,那么那些代码就会看起来想一堆垃圾。

4 编写安全代码

良好的PHP代码应该是安全的。

PHP5+提供了出色的性能和灵活性。

安全问题完全在于开发人员。

对于一个专业的PHP开发人员来说,深入理解重大安全漏洞是至关重要的。

如:跨站点脚本(XSS)、跨站请求伪造(CSRF)、代码注入漏洞、字符编码漏洞。

通过使用PDO的预处理和PHP的过滤器函数,你可以编写出安全的代码。

在代码写入到MySQL或者输出到页面之前,保证没有安全隐患。

5 代码注释

代码注释是代码的重要组成部分。

通过代码注释可以知道该变量或函数是做什么的,这将在今后的代码维护中十分有用。

6 是否需要组件

如果想彻底重做你的项目,看看是否有现成的组件(在Packagist上)可用,通过composer安装。

组件是别人已经造好的轮子,是个巨大的资源库,很多php开发者都知道。

7 尽量少进行文件和数据库操作

虽然PHP的文件操作效率也不低的,但只要通过磁盘读写数据,速度都会很低。

MySQL数据库文件虽然优化了磁盘读写,但依然是操作磁盘,所以也尽量减少数据库操作。

8 检错报告

PHP支持强大的检错功能,方便你实时检查错误。

从比较重要的错误到相对小的运行提示,总共支持13种独立的报告级别。

你可以根据这些级别灵活匹配,生成用户自定义的检测报告。

9 使用调试和分析器

网站运行缓慢的原因颇多,Web应用程序极其复杂,让人扑朔迷离。

而一种可能性在于PHP代码本身。

Xdebug提供了强大的功能,可以用来调试,也可以用来分析代码。

XHpro/XHGui 则是另外一款代码分析工具。

两个工具都能方便的查看综合数据,快速找出造成瓶颈的代码,从而有针对性的进行优化。

10 使用说明性强的名称

不论是变量名还是方法名,应该反映了它的用途,从名称上就看出其含义。

比如,getUserName()要比getUN()更直接易懂,甚至不需要注释都能一目了然。



推荐阅读
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
  • 通过存储型XSS漏洞获取目标用户本地私钥信息
    运维|安全存储型XSS漏洞,目标用户,本地,私钥信息运维-安全舍得网源码,vscode代码检查工具,ubuntu壁纸修改,tomcat网页部署项目,爬虫枯木,php采集文件,马鞍山 ... [详细]
  • 开发笔记:讲给前端的网络安全: 网络模型与攻击手段
    本文由编程笔记#小编为大家整理,主要介绍了讲给前端的网络安全:网络模型与攻击手段相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
  • JVM(三)虚拟机栈 多合一总述
    虚拟机栈概述虚拟机栈出现背景:由于跨平台性的设计,Java的指令都是根据栈来设计的。不同CPU架构不同,所以不能设计为基于寄存器的跨平台的优点:指令集小,编译器容易实现,缺点是性能 ... [详细]
  • php生成shtml类用法的简单介绍
    本文目录一览:1、phpcmsv9怎么生成shtml ... [详细]
  • 20155317王新玮《网络对抗技术》实验8 WEB基础实践
    20155317王新玮《网络对抗技术》实验8 WEB基础实践 ... [详细]
author-avatar
心胸宽大的榛子lcf
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有