美食 健康 常识 生活 日常 家居 合同 养生 心理学 国学 中医 植物 营销 动物 汽车 管理 旅游 投资 人工智能 数字化 消费 元宇宙 金融 饮食 史学 经济
  • 会员

  • 在 PHP 7 中不要做的 10 件事

    1、不要使用 mysql_ 函数

    这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现。

    2、不要编写垃圾代码

    这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快。

    为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化入门指南。

    作为一名开发者,你应该总是确保按需加载脚本,尽可能连接它们,编写高效的数据库查询,尽可能使用缓存,以及其它。

    3、不要在文件末尾使用 PHP 闭合标签

    你可以看一看,当一个文件以 PHP 代码结尾时,WordPress 多数核心代码都把末尾的 PHP 标签去掉了。实际上,Zend 框架特别禁止了它。PHP 并不需要文件末尾的闭合标签,并且我们可以通过去掉它来保证不会在后面添加任何的空白字符。

    4、不要做不必要的引用传递

    我个人不喜欢引用传递。我知道有时候它很实用,但是其它情况下它使代码变得难懂,并且更难预测结果。

    据说一些人认为它使代码运行更快,但是根据一些 PHP 高级程序员所说,这并不正确。

    说明引用为什么不好的一个例子是,PHP 内建了shuffle()和sort()。它们修改原始数组,而不是返回处理后的数组,这很不合逻辑。

    5、不要在循环中执行查询

    在循环中执行查询非常浪费。它给你的系统施加不必要的压力,并且可能能够在循环外部更快获得相同结果。当我遇到需要这样的情况时,我通常会使用两个分离的查询来解决问题,我会使用它们来构建数据数组。之后我会遍历数组,并不需要在这个过程中执行查询。

    由于 WordPress 适用于这里,它可能有一些例外。虽然get_post_meta() 会从数据库获取大量数据,如果你正在遍历某个特殊博文的元数据你可以在循环中使用它。这是因为当你第一次调用它的时候,WordPress实际上会获取所有元数据并缓存它们。后续的调用使用这些缓存数据,没有数据库的调用。

    6、不要在 SQL 查询中使用 *

    当然,这个更像 MySQL 的问题,但是我们习惯在 PHP 中编写 SQL 代码,所以都差不多。无论如何,如果可以避免的话,不要在 SQL 查询里使用通配符,尤其是数据库有很多列的时候。

    你应该明确指定需要哪些行,并且仅仅获取它们。这有助于减少所用资源,保护数据,以及让事情变得尽可能清晰。

    对于 SQL,你需要了解所有可用的函数,并且尽可能测试其速度。在计算均值、求和或计算类似数值时,要使用 SQL 函数而不是 PHP 函数。如果你不确定某个查询的速度,测试它并且尝试一些其它的编译 — 之后使用最好的那个。

    7、不要信任用户输入

    信任用户输入是不明智的。始终校验、过滤、转义、检查并留好退路。用户数据存在三个问题:我们开发者并没有考虑每种可能性,它通常不正确,以及它可能是蓄意破坏。

    经过周密考虑的系统可以防护这些威胁。要确保使用类似filter_var()的内建函数检查适当的值,以及在处理数据库时转义(或预编译)。

    WordPress 拥有一些函数来解决问题。详见文章校验、转义和过滤用户数据。

    8、不要故作聪明

    你的目标应该是编写优雅的代码,来更清晰地表达你的意图。你可能能够通过将任何东西缩短为一个单词的变量,使用多层的三元逻辑,以及其它手段,从每个页面中优化 0.01 秒。但这只会给你和你周围的人产生大麻烦。

    合理命名变量,为代码编写文档,优先选择清晰而不是简洁。甚至还可以更好,使用标准的面向对象代码,它本身或多或少就是文档,不需要一大堆内联数值。

    9、不要重新发明轮子

    PHP 到现在为止有很长时间了,网站被造出来的时间更长。很可能无论你需要造出什么,一些人之前早就造出来了。不要害怕向他人寻求支持,Github是你的好朋友,Composer也是,Packagist也是。

    从日志工具到调色工具,从性能分析器到单元测试框架,从 Mailchimp API 到 Twitter Bootstrap,每个东西都可以通过按下按键(或者敲下命令)来获取,使用它们吧!

    10、不要忽略其它语言

    如果你是个 PHP 程序员,现在有个好机会去至少了解 HTML、CSS、JavaScript 和 MySQL。当你能够更好地处理这些语言时,就是重新学习 JavaScript 的时机了。JavaScript 并不是 jQuery,你应该合理地学习 JavaScript 来更高效地使用它。

    我也打算向你推荐学习面向对象的 PHP,它可以节省时间,并且在代码规模更大时会变得更好。对于类似 C# 和 Java 的语言,在你了解 OOP 之后,它们也更易于理解。

  • 会员

  • 上一篇: 小说:额尔古纳河右岸

    下一篇: javascript 判断微信浏览器

    发表回复

    隶书可以商用吗

    隶书可以商用,国家规定宋体、楷体以及隶书都可以免费商用,不会涉及到侵权,随着国家对于知识产权的重视,各大行业都开始注重版 …

    芝士过期了还能吃吗 好利来半熟芝士过期了还能吃吗

    芝士是我们经常可以看到的食材,在很多地方都有应用,而且吃起来口感也是十分美味的,那么芝士过期了还能吃吗?芝士一直冰冻会过 …

    联想小新air14 2023什么时候上市 联想小新air142023款怎么样

    联想小新air14 2023什么时候上市 联想小新air14上市时间并没有确定,不过就最新的消息我们可以知道联想小新生态 …

    黄桃肉是什么颜色 桃肉是黄色的是什么品种

    黄桃皮的黄色的,那黄桃是什么颜色的呢?如果黄桃肉呈红色的还能吃吗?让我们一起来看看吧。 黄桃肉是什么颜色 黄桃肉是黄色的 …

    烤乳蛋做法步骤 乳蛋做法窍门

    1、烤乳蛋的用料:鸡蛋4枚、牛奶100ml、蒜薹(苔)一根、胡萝卜一小段、食盐3g、香菇6朵、研磨黑胡椒少许。 2、香菇 …

    绞股蓝泡茶一次放多少(绞股蓝泡茶一次放多少合适)

    绞股蓝泡水可能存在一定的副作用,但如果你正确的使用了这款产品或者是这种药材,那就不可能会出现副作用或者是药材相克的情况, …

    荔枝干怎么吃效果最好 荔枝干怎么吃效果最好呢

    新鲜荔枝中的水分含量较大,并不是很容易保存,所以一般都会将其晒成荔枝干来进行保存,那荔枝干要怎么吃效果才最好呢? 1、直 …

    浪漫心语蛋糕的做法 心思语蛋糕

    1、主料:低筋面粉50g、鸡蛋2个、黄桃适量、淡奶油100ml、巧克力适量、清水30g、白砂糖30g、玉米油30g。 2 …

    木耳菜怎么炒 木耳菜怎么炒不变黄

    1、准备用料。木耳菜、干辣椒、蒜末、花椒、盐油、蚝油。 2、木耳菜摘好,清洗干净。 3、剁好蒜蓉,辣椒,加几粒花椒。 4 …

    芒果可以天天吃吗(芒果可以天天吃吗小孩)

    芒果是一种热带水果,有热带果王的称号,而现在正是吃芒果的最佳季节,那么芒果可以天天吃吗?天天吃芒果对身体好吗?下面一起来 …

    八级地震影响多少公里 地震影响的范围由什么决定

    导语:每一次大地震通常会造成非常大的灾害,尤其是那些等级很高的地震,对人们来说都是灾难。有时候我们会听到有些地区发生八级 …

    卷心菜减肥可以吃吗 减肥为什么不能吃卷心菜

    卷心菜的营养价值丰富,适量的食用可以很好的给身体补充足量的营养成分,对身体健康有益,那么卷心菜减肥可以吃吗? 卷心菜减肥 …

    13周年结婚纪念日是什么婚

    13周年结婚纪念日是花边婚、珍珠婚、铃兰婚,其中的花边婚的称呼在中国比较普遍,表示婚姻和花边一样美丽,而在美国许多地区认 …

    肠道也会中风?急性发作有哪些预兆?

    一谈起中风,我们通常都会想到脑中风,却几乎很少有人了解过,我们的肠道也会“中风”。据报道,今年柳先生因肝硬化住院治疗,出 …

    皮蛋瘦肉粥热量 500克皮蛋瘦肉粥热量

    皮蛋瘦弱粥是有些人很喜欢的粥,喝起来有点的味道十分好,那么皮蛋瘦肉粥热量是多少?皮蛋瘦肉粥能减肥吗? 皮蛋瘦肉粥热量 有 …

    正确的熬猪油方法(正确的熬猪油方法 刘凯)

    1、首先把猪板油用清水冲洗干净,沥干水分,然后放在冰箱里冷冻至定型,大概冷藏两个小时就可以了,时间到了之后把猪板油拿出来 …

    中医食疗养生知识

    食物疗法,是利用食物进行防病治病、促进病体康复,以食品的形式来应用。相对西医来说,中医离我们的生活最近,也最为密切!  …

    照片6寸大还是7寸大

    7寸大。照片的尺寸通常以英寸为单位,6英寸照片的尺寸是15.2厘米×10.2厘米。7英寸照片的尺寸是17.8厘米×12. …

    酸辣鱿鱼的做法步骤 酸鱿鱼的做法大全

    1、鱿鱼一只、红辣椒一个、青辣椒一个、酸萝卜四分之一个、蒜三瓣、生姜少量、生抽一小勺、花椒粉适量、香菜或葱花两根。 2、 …

    甲骨文起源于楔形文字

    甲骨文不起源于楔形文字,它的历史可追溯到商朝,距今至少有3600多年的历史。它是中国最古老的文字以及汉字早期的表达形式。 …