文档章节

学习PHP注意事项

s
 shangshandalaohu
发布于 2017/06/05 08:30
字数 950
阅读 2
收藏 0
点赞 0
评论 0

1 多阅读手册和源代码

没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。另外,现在有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一份开源的PHP应用程序的源代码,仔细阅读它吧。也许越大的项目越值得去阅读,虽然它们也许有更复杂的结构和系统,但也有更详细的解释文档。

2 编写模块化代码

良好的PHP代码应该是模块化的代码。PHP的面向对象的编程功能是一些特别强大的工具,可以把你的应用程序分解成函数或方法。你应该尽可能多的从你的应用程序的服务器端分开前端的HTML/CSS/JavaScript代码,你也可以在任何PHP框架上遵循MVC(模型-视图-控制器)模式。

3 代码编写规范

良好的PHP代码应该有一套完整的代码编写规范。通过对变量和函数的命名,统一的方法访问数据库和对错误的处理,以及同样的代码缩进方式等来达到编程规范,这样可以使你的代码更具可读性。

4 编写可移植代码

良好的PHP代码应该是可移植的。你可以使用php的现有功能,如魔术引号和短标签。试着了解你的需求,然后通过适应PHP特性来编写代码让代码独立、可移植。

5 编写安全代码

良 好的PHP代码应该是安全的。PHP5提供了出色的性能和灵活性。但是安全问题完全在于开发人员。对于一个专业的PHP开发人员来说,深入理解重大安全漏 洞是至关重要的,如:跨站点脚本(XSS)、跨站请求伪造(CSRF)、代码注入漏洞、字符编码漏洞。通过使用PHP的特殊功能和函数, 如:mysql_real_escape_string等等,你可以编写出安全的代码。

6 代码注释

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

7 使用单引号代替双引号

字符串始终使用单引号代替双引号,以避免PHP搜索字符串内的变量导致的性能下降。 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会 。

8 转义字符串输出

使用ENT_QUOTES作参数传递给htmlspecialchars函数,以确保单引号(')也转换成HTML实体,这是一个好习惯。

9 使用逗号分隔字符串输出

通过echo语句输出使用逗号(,)分隔的字符串,要比使用字符串连接操作符(.)的性能更好。

10 输出前检查传来的值

输出前检查传过来的值$_GET['query']。使用isset或empty函数,可以用来检查变量是否为null值。

更多PHP相关技术请搜索千锋PHP,做真实的自己,用良心做教育。

本文转载自:

共有 人打赏支持
s
粉丝 0
博文 34
码字总数 6669
作品 0
IOS IPhone 开发需要的开源库[编辑中.. 不断更新]

前言 我是 java & php 程序员,遇到了坑爹的iPhone,被逼无奈在崩溃的边缘下学习object-c ,在学习中遇到了很多 奇葩,无知,龌蹉,呕吐的问题(弱弱的说 : 有的些问题到现在还不知道具体的原...

海参 ⋅ 2013/06/03 ⋅ 6

【CF 应用开发大赛】程序员末日闯关!

应用名称:SumOn 应用URL地址:http://mrcg.ap01.aws.af.cm/ 投票 应用说明及使用场景: 之前制作这个小游戏是为一次网络编程基础的演讲,为这个演讲增添趣味。后来发现这是一个很好的程序员...

jillsion ⋅ 2013/01/08 ⋅ 18

jaylin/minithink

由于个人原因,此项目本人已不再提供升级维护,已转交给jiruitech,本仓库项目代码仅供学习交流,谨慎使用开发项目!!! https://gitee.com/jiruitech/minithink #minithink 开发手册:htt...

jaylin ⋅ 2017/05/06 ⋅ 0

自动化部署必备技能—定制化RPM包

这里也不介绍rpmbuild这个打包工具了,想了解的朋友自行谷歌百度。但我不建议大家花太多的时间去学习这个命令,比较晦涩,而且我会在下面介绍更简单的命令。 FPM打包工具 FPM的作者是jordans...

兄之老久 ⋅ 2017/05/20 ⋅ 0

php学习碎碎念

1.为什么要使用会话控制? 因为我们浏览网站的时候访问的每一个web页面都是需要的使用http协议的,但是http协议是无状态协议——也就是每一次请求都是独立的请求,不能把持续的同一客户端的请...

Allen ⋅ 2016/04/14 ⋅ 0

自动化部署必备技能——定制RPM包

回顾下安装软件的三种方式: 1、编译安装软件,优点是可以定制化安装目录、按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长。 2、yum安装软件,优点...

jiege333 ⋅ 2017/06/24 ⋅ 0

PHPWAMP的优点以及使用方式、PHPWAMP绿色环境和其他集成环境的区别

phpwamp怎么用? 大部分使用教程可以在软件菜单,帮助菜单那里查询到,想获取更多教程 也可以登陆51cto博客搜索“PHPWAMP”,博客上有完整的官方使用教程。 后续也将会在51CTO推出官方视频使...

Lccee老师 ⋅ 2017/08/28 ⋅ 0

PHPWAMP好吗?phpwamp怎么用?PHPWAMP和其他集成环境有什么区别吗??

phpwamp怎么用? 大部分使用教程可以在软件菜单,帮助菜单那里查询到,想获取更多教程 也可以登陆csdn博客搜索“PHPWAMP”,博客上有完整的官方使用教程。 后续也将会在csdn推出官方视频使用...

Lccee ⋅ 2017/08/28 ⋅ 0

百度贴吧云签到

本工具可实现对你的贴吧的自动签到 注意事项: 1.不适用于不支持MySQLi类的主机 2.环境应该为PHP+MySQL 3.关于MySQL数据库地址,可以这么填:数据库地址:端口,端口一般无需填写 4.关于云平台...

Kenvix ⋅ 2014/06/14 ⋅ 5

PHP-Java-Bridge使用笔记,2014年9月最新版

/============================================================ @author ken(695093513@qq.com) @date 2014-09-09 * ==============================================================/ /=......

卖小女孩的小火柴 ⋅ 2014/09/19 ⋅ 10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 35分钟前 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 55分钟前 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部