经常会有一些朋友会问我,学PHP有前途吗?PHP未来会不会被淘汰?PHP能做什么事情么?Java后者.Net能做的PHP都能做么?学习什么技术最 好呢?对于一个初学者来说,这些问题确实都是很重要的,毕竟这关系到未来自身的发展。其实要探讨PHP,不能够狭隘地站在PHP本身的角度去理解问题,而 要从整个计算机语言的发展史,技术体系的演变以及商业模式的变化对于技术走向的影响来分析。在这里我就写一篇文章,和大家分享一下我这些年来对于技术体 系,技术发展,技术与商业之间关系的理解。
计算机技术体系纷繁复杂,从大的方面讲,主要分为硬件和软件两大块。硬件又分为芯片级和板卡级。芯片级企业主要是设计制造电路板上那一块块黑色小块,他们 叫做集成电路。像大名鼎鼎的英特尔,高通,德州仪器,Nvidia,AMD等等都属于芯片级的巨头企业。板卡级企业主要是设计电路板,然后从芯片企业采购 芯片安装到电路板上。华硕,微星,富士康等等台企都有板卡业务。软件产业可以分为系统软件和应用软件,目前世界上主流的操作系统主要有 Windows, Linux, Unix, MacOS, BSD等等。在不同的操作系统环境下,应用软件的开发也有不同的方式。从应用软件的功能区 分,可以分成客户端应用软件和服务器端应用软件。从产业链来说,硬件产业处于软件产业上游。一般来说,硬件产业更强调规模,属于资金密集型的行业,而软件 产业相对更注重创意。
回到我们要探讨的重点——编程语言。一般来说,对于web开发和普通的客户端软件开发,我们都是在应用软件的层面编程。在客户端软件的开发中,目前 Windows平台下主要的开发体系是基于.Net的架构,当然这个领域曾经是MFC, delphi, vb的天下。除此以 外,Java, ruby, python,lua等语言配合Qt, tk等UI组件库也可以开发跨Windows, Linux, MacOS等多平台 的应用程序。当然,随着iOS, Android等移动操作系统和平板电脑的兴起,客户端软件开发正在呈现出百花齐放的态势。在服务器端软件的开发中,目 前呈现的是三组鼎立的态势,三足分别是JavaEE体系,微软.Net体系和LAMP体系。
JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。直至Java界神一样的 人物Rod Johnson携它天才的Spring框架与不朽名著《Expert J2ee development without EJB》横空出 世,Java界的纷争才被SSH(Spring+strunts+hibernate)暂时统一。但是使用Java依然是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和昂贵的编码人员使得Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。Java的 特性使得它并不适合业务随着市场快速变化的互联网企业,而更适合相对稳定的大型业务,如银行,保险,零售,制造业等大型企业的业务系统开发。
.Net体系是微软公司为了对抗Java而设计的一整套企业级开发架构,包括了客户端和服务器端的开发框架。并且彻底抛弃了原来的MFC。在很多方 面,.Net体系都和JavaEE有着相似之处。从我的经验来看,对于高手而言,.Net体系的开发效率是明显高于JavaEE的。但是.Net体系对于 初学者来说仍然有很高的门槛,很多新手做出来的项目都是bug多到惨不忍睹。同时不能跨平台,必须使用正版的微软操作系统和数据库软件,Windows系 统作为服务器的不稳定性和管理的复杂性,都在一定程度上阻碍了.Net体系在服务器端开发的普及
作者:朱威

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能