2.2  PHP的应用

任何一种主流的编程语言,几乎都可以开发任何类型的软件。编程语言就是一种开发工具,而选择适合的工具去做适合的事儿,才能体现其应用价值。PHP最主要的应用,就是与数据库交互来开发Web应用。简单说来,PHP是一门脚本语言,基本都用在Web应用的中间层,负责数据库以及前台页面交互和信息传递,所以特别适合编写业务逻辑。目前,网站和移动网站、公司内部应用系统、游戏的服务器端、APP(iOS和Android)和WebApp的服务端接口、微信小程序后台和微信公众平台中的服务号、订阅号二次开发等,PHP几乎是开发这些应用的首选。

2.2.1  开发网站和移动网站的应用

网站是一种非常重要的通信工具,只要用户有网络和权限,可以在任何时间、任何地方,访问任意网页,如图2-2所示。个人可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。企业网站则在企业的发展中充当了重要的角色,是企业对外的窗口,可以宣传企业自身、推广提高产品品牌,是交流、销售和服务的工具,投标时成为了企业实力的代言,合作时作为企业的名片,企业做活动时能作为活动单页在微信等交流平台传播等。移动网站就是在移动端访问的网站,通俗来说就是适合手机或平板电脑访问的网站,随着移动互联的发展,移动设备已经超过了PC(个人电脑)的使用数量,而且使用频率也很高,所以不管理是企业和个人在制作网站时都要去兼容移动端的访问。

图2-2  企业网站和移动站点展示

PHP就是为开发Web而诞生的,在Web项目开发过程中具有极其强大的功能,开源免费、语法简单开发速度快,降低了企业的开发成本。可以运行在多个平台上,也能挂载到多种Web服务器上应用,还可以连接各种数据库,安全可靠,运行速度快。另外在网站开发上可用的二次开发的项目非常多,可选择的PHP开发框架也是最丰富的。大概全球有83.1%的网站是使用PHP语言构建的,这其中共有34.5%的网站是使用流行的PHP框架构建的。像我们听过的一些国外大公司Facebook、WordPress、Yahoo等全是用PHP编写的,百度、阿里、腾讯等知名互联网企业,多数频道也都用PHP来开发的。

2.2.2  在企业内部信息化系统中的应用

企业信息化建设是非常有意义的,目前正处在知识经济和互联网浪潮的新时代,企业面临着日趋激烈的市场竞争,信息化建设能使企业获得持续发展。例如,信息化可以促进组织结构优化,提高快速反应能力;信息技术应用范围涉及整个企业的经济活动,可以有效、大幅度地降低企业的成本;提高企业的市场把握能力,缩短了企业与消费者的距离;信息技术能极大地提高企业获取新技术、新工艺、新产品和新思想的能力;电脑与管理的有机结合,促进企业提高管理水平;提高企业决策的科学性、正确性;提升企业人力资源素质,又可以节约人员成本和沟通等业务流程上的消耗。兄弟连教育内部信息化系统如图2-3所示。

图2-3  企业内部信息化系统

企业选择PHP开发信息化系统,主要是因为PHP适合做Web开发,特别适合编写业务流程。最主要的优点是功能强大、简单易用、开发速度极快、开发周期短、成本低。企业信息化系统和网站不同之处在于,网站是对所有人公开,所以你可以随意去浏览。企业内部的信息化系统则专为自己员工设计,必须有专属的权限才能进入使用,并且不同级别、不同部门的工作人员有不同的权限和业务流程。所以企业内部信息化系统是除网站以外,PHP开发的主要市场,大概有70%的信息化系统是使用PHP语言开发的。中小企业基本都会使用PHP建设信息化,而一些大型企业、国企和事业单位主要会选择Java语言开发信息化系统,其实对于企业信息化系统,Java可以完成的功能PHP几乎都可以做。

2.2.3  在App接口开发方面的应用

直观地讲App就是手机和平板电脑上的应用软件,现在主要指的是在苹果操作系统iOS、其他设备操作系统Android等下的应用软件。App的创新性开发,始终是用户的关注焦点,移动App可整合定位(LBS)、增强现实(AR)等新技术,带给用户前所未有的用户体验;基于手机的随时随身性、互动性特点,容易通过微博、社群(SNS)等方式分享和传播,实现裂变式增长;开发成本相比传统营销手段成本更低;通过新技术和数据分析,App可实现精准定位企业目标用户,实现低成本快速增长;用户手机安装App以后,企业即埋下一颗种子,可持续与用户保持联系,如图2-4所示。

用于App开发的语言有很多种,像iOS平台开发语言为Objective-C,Android平台开发语言为Java等。App有单机版应用,但现在企业的App几乎都是在手机端展示操作界面,程序则在服务器端运行。PHP不是用来写前端界面展示的, 而是用来写App服务器端程序的。写服务器端的程序语言也有很多选择,现在的趋势是前端和后台服务完全分离,前后端通过“接口技术”沟通,所以前端不管用什么语言开发界面都可以,后端也可以和语言选择无关。现在有60%以上的App接口,选择使用PHP开发后端程序。因为PHP本身是跨平台的,可以在Windows和Linux等多个平台上运行,PHP消耗相当少的系统资源,运行效率相对高,和Apache及MySQL的完美搭档,本身都是免费开源的,开发效率高,成本低。

图2-4  一些常见的企业App图标

2.2.4  对微信公众平台二次开发的应用

微信公众平台,简称公众号,公众号又被分成订阅号和服务号。微信公众平台的二次开发,是通过个人或企业在自己注册的订阅号或服务号上,按微信公众平台提供的接口权限,结合企业自身业务进行改版或增加功能,来扩展自媒体活动。简单来说,就是进行一对多的媒体行为活动,将企业信息、服务、活动等内容通过微信网页的方式进行表现。例如商家通过对自己的服务号进行二次开发后,就可以展示商家微官网、微会员、微推送、微支付、微活动、微报名、微分享、微名片等,这些已经形成了一种主流的线上线下微信互动营销方式,如图2-5所示。

图2-5  微信公众平台的后台和应用展示

微信公众平台的后台实际上就是一个Web页面,能够开发Web项目的语言都可以实现微信公众平台的开发。而PHP是脚本语言,开发测试方便,节省了编译的时间。 由于PHP在Web开发中的优势,微信官方给出的参考实例都是用PHP实现的,目前有80%以上对公众平台的二次开发都在使用PHP语言。

2.2.5  微信小程序开发应用

2017年1月9日微信小程序正式上线,相当于App的替代产品,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。小程序、订阅号、服务号、企业号是并行的体系。一些移动办公,小游戏逐渐都在微信小程序中流行起来,如图2-6所示。

图2-6  企业的一些微信小程序应用

微信小程序的开发其实就是Web开发,是PHP开发的强项,可以将很多现有的PHP项目二次开发改成微信小程序,微信官方给出的小程序实例演示都是用PHP语言开发。PHP编写接口简洁、方便、安全,与数据交互灵活,好用的开发框架丰富。随着微信的用户逐渐增加,并且其使用频率在手机中的应用也是最高的,所以在微信中运行的微信小程序将是App的替代品。和App一样,微信小程序也是前后台分离的,前台使用HTML/CSS/JavaScript开发界面,不受操作系统的限制,不像App不同的操作系统要选择不同的语言开发App前端,开发慢,成本高。因为也是通过“接口”技术和后台应用结合,所以和服务端开发语言没有关系,可以使用PHP、Python和Java等,目前有80%以上的微信小程序选择使用PHP进行开发。

2.2.6  PHP在其他方面的应用

除了前面介绍过的微信小程序适合用PHP语言开发,PHP还常用来和Shell脚本结合,编写服务器运维脚本程序,做自动化运维。因为可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,只需要PHP解析器来执行即可。这种用法对依赖cron(UNIX或者Linux环境)或者Task Scheduler(Windows环境)的日常运行的脚本来说是理想的选择,这些脚本也可以用来处理简单的文本。还有一部分企业选择使用PHP开发网页游戏服务器端程序。另外,对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言。但是如果用户非常精通PHP,并且希望在客户端应用程序中使用PHP的一些高级特性,可以利用PHP-GTK(PHP的一个扩展)来编写这些程序。总之,PHP是服务器端脚本开发语言,只要是在服务器端的应用都可以选择用PHP来实现。

最新文章

  1. SQL加权限
  2. python-->基础-->005-->类的三大成员:方法+属性+字段
  3. Linux shell中运行命令后加上字符“&”的作用
  4. Ubuntu 14.04安装OpenCV 3.1
  5. ogg 、 Shareplex和DSG RealSync 对比
  6. memcached搭建缓存系统
  7. NIS Edit&Nsis打包程序发布(安装和卸载)
  8. Spring 3.1 Environment Profiles--转载
  9. chop 与 chomp 的对比
  10. Quick Cocos2dx CCLuaStack has no member names 'loadChunksZip'
  11. 【swoole】如何在docker+swoole环境下测试udp服务
  12. CentOS7完成mysql的安装和远程访问
  13. JSON语法
  14. Cobalt Strike 服务器搭建及使用
  15. PyQuery库
  16. 使用Java提供的MXBean来监控jvm创建了哪些线程
  17. HashSet remove()
  18. 关于Unity中的小案例之运动的小船以及摄像机跟随技术(专题五)
  19. linux chkconfig 管理服务开机自启动
  20. Daily Scrum 11.15

热门文章

  1. 冒泡排序(C语言)
  2. div块水平居中,垂直居中
  3. ism 发布
  4. python模拟进程状态
  5. java之简单类对象实例化过程
  6. Spring Cloud Alibaba 实战(十三) - Sleuth调用链监控
  7. node 升级版本
  8. 压测 swoole_websocket_server 性能
  9. java获取月的第一天和最后一天
  10. [browser navigator 之plugins] 写了一个检测游览器插件