老铁们,大家好,相信还有很多朋友对于PHP优化指南介绍,高效编程程序员必备和的相关问题不太懂,没关系,今天就由我来为大家分享分享PHP优化指南介绍,高效编程程序员必备以及的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
str_replace函数比preg_replace快得多,strtr函数比str_replace快。
strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、strripos()。角色替换
str_replace 字符替换比常规替换preg_replace 快,但strtr 比str_replace 快1/4。
另外,不要进行不必要的替换,即使没有替换,str_replace也会为其参数分配内存。很慢!
先用strpos搜索(速度非常快)看是否需要替换,如果需要再替换。
如果需要更换,效率几乎相同,差异约为0.1%。
如果不需要替换:使用strpos 速度快200%。
使用$_SERVER 变量
如果需要获取脚本执行的时间,$_SERVER[‘REQUSET_TIME’] 比time() 更好。
一种是现成的,可以直接使用,另一种需要函数得到的结果。
使用++$i 递增
PHP开发三年,你只知道增删改查?那是因为你没有规划好你的PHP学习路线。
当执行变量$i的递增或递减时,$i++会比++$i慢。
这种差异是PHP 特有的,不适用于其他语言,因此请不要修改您的C 或Java 代码并期望它立即更快,这是行不通的。
++$i 更快,因为它只需要3 条指令(操作码),而$i++ 需要4 条指令。
压缩大字符串
使用gzcompress() 和gzuncompress() 来压缩和解压缩大容量字符串,然后在数据库中存储和检索它们。
该内置函数使用gzip算法,可以将字符串压缩90%。
读取文件内容
当可以使用file_get_contents()代替file()、fopen()、feof()、fgets()等系列方法时,尽量使用file_get_contents()。
回声输出
如果回显字符串使用逗号而不是点,那么它们会更快。
虽然,echo是一种语言结构,而不是一个真正的函数。
但是,它可以传递多个以逗号分隔的字符串作为“函数”参数,因此速度会更快。
!自动加载机制本质上并不是低效的。只有滥用自动加载和设计不当的自动加载功能才会导致其效率降低。
因此,尽量避免使用__autoload等魔术方法,这是有待讨论的。
阻止敏感信息
使用error_reporting() 函数可以防止向用户显示潜在的敏感信息。
理想情况下,应该在php.ini 文件中完全禁用错误报告。
如果使用共享虚拟主机,php.ini无法修改,最好添加error_reporting()函数。
没有结束标签的纯PHP 代码
如果文件内容是纯PHP代码,最好去掉PHP结束标签?在文件末尾。
这可以防止PHP 意外地在PHP 结束标记后添加空格或换行符,从而导致PHP 在脚本中无意输出这些空格时开始输出它们。
切勿使用register_globals 和魔术引号
这是两个非常古老的功能,在当时(十年前)可能是一个好主意,但现在似乎并非如此。
旧版本的PHP 在安装时会默认打开这两个功能,这可能会导致安全漏洞、编程错误和其他问题。
例如,只有当用户输入数据时才会创建变量。
这两个特性从PHP 5.4.0 开始就被废弃了,所以每个程序员都应该避免使用它们。
如果您过去的程序使用了这两个功能,请尽快删除它们。
使用绝对路径
尝试在include 和require 中使用绝对路径。
如果包含相对路径,PHP将遍历include_path来查找文件。使用绝对路径可以避免此类问题,并且解析路径所需的时间会更少。
尽量不要使用require_once 和include_once 来包含文件。他们有一个额外的过程来确定文件是否被引用。如果可能的话尽量不要使用它。
请改用require 和include 方法。
函数比类方法更快
调用一个只有一个参数且函数体为空的函数所需的时间相当于7-8 个$localvar++ 操作。
具有相同功能的类方法大约需要15次$localvar++操作。
使用子类方法
只应将可重用的方法放在基类中,其他功能应尽可能在子类中实现。子类中的方法的性能优于基类中的方法。
通过引用传递的参数
通过参数地址引用,实现函数的多个返回值,比按值传递效率更高。方法是在参数前添加一个变量。
尽可能保持静态
静态方法和非静态方法在效率上的主要区别在于内存。静态方法在程序启动时生成内存,实例方法(非静态方法)在程序运行时生成内存。
因此,静态方法可以直接调用,而实例方法必须先创建实例然后调用。静态方法速度很快,但是如果使用太多,就会占用内存。
任何语言都在内存和磁盘上运行。至于是否面向对象,只是软件层的问题。底层是一样的,只是实现方法不同。
静态内存是连续的,因为它是在程序开始时生成的,而实例方法申请的是离散空间,所以当然不如静态方法快。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/126346.html
用户评论
怪咖
终于有人把PHP优化写成教程了!作为长期使用PHP开发的过来人,我深知这篇文章的重要性!学习一下优化技巧,开发速度肯定会提高不少,代码也能更简洁易懂。
有14位网友表示赞同!
半梦半醒半疯癫
我一直以为PHP就只有“慢”这一种标签啊。看了这篇介绍,我才明白原来有很多方法可以提升效率!我要多花时间学习一下了,毕竟高效的代码才是王道吧!
有9位网友表示赞同!
一笑抵千言
对程序员来说,开发速度很重要,这篇文章提到的优化准则真是实用又全面!我会好好把它们记下来,尝试在自己的项目中应用,看看能不能提高效率。
有10位网友表示赞同!
◆乱世梦红颜
PHP优化?对于一些重量级应用确实有必要!但我平时做的是小脚本,这些优化技巧似乎用处不大。希望能看到针对轻量化项目的详细教程吧!
有16位网友表示赞同!
纯情小火鸡
这篇文章虽然写得比较专业,但还是有一些地方我理解不了,希望能够提供更深入的讲解,比如关于缓存和数据库优化的具体方法。
有11位网友表示赞同!
我没有爱人i
作为PHP新入门者,看这篇优化准则让我更加清晰了PHP性能调优的重要性和方法。学习这些技巧不仅可以提高程序执行效率,也能帮助我更好地理解PHP的工作机制。
有6位网友表示赞同!
青袂婉约
这篇文章写的很好!非常详细地介绍了各项优化策略,并且还配有具体的代码示例,方便新手理解和实践。我之前遇到的一些性能问题或许能通过学习这些方法得到解决。
有5位网友表示赞同!
顶个蘑菇闯天下i
虽然我的主要工作语言不是PHP,但仍然对编程效率的追求很重视。这篇文章让我认识到即使是成熟语言也会存在优化空间,很有启发意义!
有7位网友表示赞同!
回忆未来
我个人不太认可文中提到的某些方法,比如某些优化手段可能反而会增加代码复杂度,影响维护难度。我觉得最重要的还是保证代码可读性和易修改性。
有11位网友表示赞同!
烟雨离殇
PHP 作为一门成熟的语言,已经有许多强大的开发工具和框架,我认为单纯依靠对底层代码进行调优并不一定是最有效的方法。建议注重使用适合项目需求的框架和工具来提高效率!
有10位网友表示赞同!
凉城°
我赞同文章中提出的观点!"高效率编程"不仅是程序员必备的技能,也是项目可持续发展的保障。不断学习和实践优化方法,才能在动态变化的技术环境中保持竞争力。
有10位网友表示赞同!
短发
PHP优化确实是一个需要长期钻研的过程,这篇文章只是打开了入门的大门。希望以后能看到针对不同场景的优化策略分享,例如针对网站性能、API效率等方面的具体指南。
有19位网友表示赞同!
小清晰的声音
对于那些只关注代码表面功能的程序员来说,读完这篇文章可能会感到困惑和迷茫。但对于追求代码质量和提升用户体验的程序员而言,这无疑是一份宝贵的财富!
有7位网友表示赞同!
陌上花
我觉得无论用哪种语言开发,优化都离不开对系统资源的理解和控制。PHP本身就是一个动态语言,它的特性决定了一些不可避免的性能瓶颈,我们需要在设计架构的时候就提前考虑和应对这些挑战。
有17位网友表示赞同!
。婞褔vīp
这篇文章介绍了很多具体的优化技巧,但缺少针对不同的场景的应用建议。例如在处理大量数据的场景下,选择合适的数据库、缓存策略等等都至关重要。希望后面能够提供更细 grained 的指南!
有6位网友表示赞同!
伪心
我一直在尝试提高PHP项目的性能,读了这篇文章后感觉豁然开朗!很多以前不懂得优化点终于找到了答案,我相信通过学习这些准则,我的效率一定会大大的提高。
有17位网友表示赞同!