PHP开发的一些注意点总结
Linux系统的使用
现在标配的系统是 Linux + Nginx + PHP + MySQL ,这样的配置越来越多的大公司在用的了说到配置不同的是一个公司的规约,比如说挂载一般分为2个盘, / 下面划分为系统用的分区10G 足够 剩余空间划给/home的了.这点我感觉比较好的,原来我划的太多的了,其次是对于系统的安全登陆,现在小公司或者个人的做法是通过网络,直接使用帐号或者密码直接登陆而相对大公司的做法是,先登陆relay中转服务器,然后通过中转服务器登陆到目标服务器,这样帐号会被记录,安全性比较高,现在一般用了TOKEN,RSASecurID进行密码登陆,提高了整体的安全性了.
PHP调用shell命令
在之前没有使用到php调用到shell来执行一些额外的任务,现在会经常用到的了,这样就可以做脚本之外的事情了,这点感觉比较方便
编码习惯上对于编码习惯,每个公司和团队往往使用的都不同,特别是编程IDE的不同导致了编码规范的不同而约定也就不同的了,不过对于整体的习惯经过团队全体人员的决议,就定下来了,这点在原来的小公司没有要求的很严格,现在也是这样的,看来这个和团队文化还是有很大关系的了,这点团队的人相处久了,自然就熟悉的了.
函数返回值
一般对于获取失败的返回值都返回的是false,对于出现的多种情况,返回int的数值,如果是数据则返回的是array或者其他,对于现在的函数由于memcache的使用,现在用了很多的函数内的cache操作,返回值也是先从cache取得,如果没有在到数据库中取得,然后写入cache,然后返回数据
对于处理数据写入原来的写法是在$_POST && $_GET 过来的数据,然后进行addslashes处理,现在的做法是直接接收,然后进行数据判断是否符合要求,然后在拼接sql,然后对sql语句进行mysql_escape_string处理,然后在读出数据的时候,使用htmlspecialchars进行处理,这样显示就没有问题的了.
锁机制的PHP实现
前段时间写过一篇文章并发下常见的加锁及锁的PHP具体实现
关于队列的分发问题
使用了MQ进行Memcache数据的分发,这点还没弄明白,具体的实现,得在请教的了
关于PHP的错误级别的认识
原来对于错误级别,在开发的时候用的都是比较轻的E_ALL | E_STRICT 现在换成了E_ALL & ~E_STRICT 养成变量定义的好习惯,使用时候初始化是比较必要的.
对于防止用户发表违法信息及广告的控制及用户行为频率的控制
对于用户发布的广告,违法信息都用SPAM系统进行了控制,防止出现问题,对于用户行为进行了限制,防止用户过多的控制资源,对于系统中的变量不能使用自增的唯一ID,需要进行加密处理,返回系统信息被其他人获得.包括用户ID,数据信息ID的加密处理
相关推荐
-
php开发中的页面跳转方法总结
页面跳转可能是由于用户单击链接.按钮等触发的,也可能是系统自动产生的.页面自动跳转在WEB开发中经常用到,而且根据需求可以采用不同的跳转方式,比如提示操作信息后延时跳转等, 本文总结了WEB开发中常见的几种页面跳转方法. PHP header()函数跳转 PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向: $url = "http://www.jb51.net/"; header( &qu
-
PHP开发注意事项总结
1.使用内嵌的HTML代码,而不是PHP的echo语句. 因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入.但是很多程序员担心在HTML代码中过多的使用""嵌入PHP代码会多次调用PHP解释器,从而降低了PHP代码的运行速度,所以宁愿使用PHP的echo语句来输出HTML代码,而不直接使用HTML代码.但事实却恰恰相反.每一个PHP页面只调用一次PHP解释器来解释所有的PHP代码,所以,只在需要时才嵌入PHP代码,而大多数的时候直接使用HTML代码输入结果,
-
总结的一些PHP开发中的tips(必看篇)
一.开发习惯和php代码 1.准确的理解各种概念.现在的新东西层出不穷,望文生义和一知半解对开发工作有害无益://比如我就碰到有人理解松散耦合(这个东西不新)的概念居然是要求代码不要有空行,否则你的程序就是"太松散"了 2.代码美观,适当的空行.缩进,空格,这样能更容易理解代码段的意思: 3.一定要写注释,而且要恰当的注释,要不然后面的维护工作或者接手代码的人会痛哭不已: 4.静态方法.类访问权限.接口.抽象类应该综合起来使用,发挥各自特点: 5.不要复制粘贴,即使是要用到现成的代码,
-
总结PHP中数值计算的注意事项
一:四舍五入 1.round - 对浮点数进行四舍五入 float round ( float $val [, int $precision ] ) 2:floor - 舍去法取整(向下取整) float floor ( float $value ) 3.ceil - 进一法取整(向上取整) float ceil ( float $value ) 坑点: 当数值为整数的时候 例如 11 那么floor(11) = 10 , ceil (11) = 12: 问题显而易见,所以计算的时候要格外注
-
win10下使用virtualbox + vagrant配置ruby开发机环境
在写本文前,笔者已经尝试了多种其他的替代方法,例如wmware虚拟机安装kylin.然而发现总是还有各种问题.经大佬指点安装了virtualbox + vagrant.于是发现配置起来如此简单.接下来笔者将详细阐述. (注:笔者自己的服务器上的配置是centos7.2 + ruby2.3.4 + mariadb + redis,自己的笔记本为win10,另外,很多网上的类似文章都写于很长时间以前,很多内容现在已经不适用,甚至很多关键的环节还不讲清楚,导致笔者配置初期踩了很多的坑.所以写下此文,总
-
MongoDB开源数据库开发工具dbKoda
Southbank Software公司最近发布了 dbKoda 0.6.0 ,这是该软件的 首个发布版 .dbKoda是一款开源的 MongoDB 开发工具,采用JavaScript. React 和 Electron 开发.下图显示了dbKoda的用户图形界面,突出特点是提供了一个连接管理器(Connection Manager)和代码编辑器(Code Editor),其中代码编辑器给出了丰富的MongoDB数据操作特性. 连接管理器 连接管理器维护多个数据库连接的配置信息(Profile)
-
Seajs 简易文档 提供简单、极致的模块化开发体验
非官方文档,整理来自己官方文档的文字与实例,方便速查. 为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. 自然直观的代码组织方式:依赖的自动加载.配置的简洁清晰,可以让我们更多地享受编码的乐趣. Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口. 兼容性 Sea.js 具备完善的测试用例,兼容所有主流浏览器: C
-
移动设备web开发首选框架:zeptojs介绍
最近看到了一篇文章,是介绍一种新的js框架,名为zepto.js,他适用于移动设备已经桌面浏览器除了ie系列的.. 他兼容jquery的API,所以学起来或用起来并不吃力.他比jquery的优势在于 1.他够小,只有21k左右..功能俱全. 2.增加了移动设备的触摸等事件,不需要再次引入其他手机框架如jquery mobile. 3.虽然不兼容ie但是提供了一个兼容方法: 复制代码 代码如下: <script> document.write('<script src=' + ('__pr
-
详解Angular 开发环境搭建
Angular 是一款开源 JavaScript 框架,由Google 维护,用来协助单一页面应用程序运行的.它的目标是增强基于浏览器的应用,使开发和测试变得更加容易.目前最新的 Angular 版本是 v4.2.3 开始搭建 Angular 开发环境 搭建 Angular 开发环境需要的步骤: Node.js 配置 npm Angular CLI 安装 Node.js 下载安装Node.js,下载最新的 LTS 版本即可,目前最新的版本是 v6.11.0 LTS 配置 npm 安装好 Node
-
详解如何使用webpack+es6开发angular1.x
虽然,现在越来越多的人选择使用react.vue以及ng2,但是依然存在相当一部分人在使用angular1.x开发.本文将介绍如何使用webpack+es6+angular1.x+$oclazyLoad实现动态加载. 1.webpack webpack.config.js var path = require('path'); var webpack = require('webpack'); var ExtractTextPlugin = require("extract-text-webpa
-
详解Angular CLI + Electron 开发环境搭建
本文介绍了Angular CLI + Electron 开发环境搭建,分享给大家 用 @angular/cli 配合 Electron 构建桌面软件开发环境,可以在 Electron 中使用 Angular 的各种特性,使开发桌面软件像开发网站一样简单.快捷,而且可以模块化,紧跟最新技术趋势. 安装 Angular CLI 和 Electron 首先使用 npm 安装 Angular Cli: $ npm i -g @angular/cli 然后安装 Electron $ npm i -g el
-
Ubuntu系统下Angularjs开发环境安装
一.win7环境下安装ubuntu系统 http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 注意:在安装的第四步选择"安装ubuntu系统,与win7系统共存"这一项,这样可以免去后面的分区,安装更方便 二.安装jdk8 http://hi.baidu.com/270460591/item/5a6a9bcf8f352e4dbdef69cd 注意:配置文件改为在~/.bashrc里面加入 export JAVA_H
-
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
本文实例讲述了AngularJS框架双向数据绑定机制.分享给大家供大家参考,具体如下: 之前写的一篇<AngularJS入门示例之Hello World详解> ,介绍ng-model的时候提到:使用AngularJS的双向数据绑定机制,不需要我们编写繁琐的代码来实现同样的功能.现在我们看一个比较震撼的例子,看看angularJS是如何减少我们在前端开发中的繁琐劳动的.越是感受到框架功能的强大,越是能够激发学习的兴趣和动力. 假如我们有一个学生信息列表,包含学生的姓名.地址和年龄信息.假如这个数
-
Angular 4.X开发实践中的踩坑小结
本文主要给大家分享了关于Angular 4.X开发中与到的一些踩坑经验,分享出来供大家参考学习,下面来一起看看详细的介绍: 一.使用ngIf或者ngSwitch出错 在html文件中使用ngIf或者ngSwitch时,会解析出错,错误提示如下: Error: Template parse errors: Can't bind to 'ngSwitch' since it isn't a known property of 'div'. 这个是因为没有在此Component所在的Module中导入
随机推荐
- Python3使用PyQt5制作简单的画板/手写板实例
- 读写json中文ASCII乱码问题的解决方法
- KVM虚拟机技术学习总结
- JS+canvas实现的五子棋游戏【人机大战版】
- thinkphp表单上传文件并将文件路径保存到数据库中
- php随机取mysql记录方法小结
- c#入门之循环语句使用详解(for循环、do/while)
- C语言顺序表的实现代码
- 深入理解在JS中通过四种设置事件处理程序的方法
- js获取IP地址的方法小结
- c#模拟js escape方法的简单实例
- Centos中VNC远程桌面程序的安装与使用教程
- ftp自动下载文件脚本分享(ftp命令下载文件)
- mongodb 3.2.5安装详细过程
- mysql完整备份时过滤掉某些库的方法
- Rsync命令参数详解
- Jquery的hover方法让鼠标经过li时背景变色
- js不是基础的基础
- C++类静态成员与类静态成员函数详解
- 基于curl数据采集之单页面并行采集函数get_htmls的使用