1.优点:开源 免费性 快捷性 [程序开发快,运行快,技术本身学习快]

插件丰富,网上的解决方案有很多,而且还有庞大的开源社区可以提供帮助。

跨平台性强  效率高   图像处理

面向对象

[在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。]

PHP 性能很强 . 配合简单、稳定、容易部署,总的来说 php能帮你低成本完成事情

2.缺点,

1)函数命名不规范   驼峰法和下滑线,传参位置不一 你知道的

2)单线程  ; PHP本身,一直以来php就是个单进程的程序;虽然php的pthreads扩展早就有了。但是它不够稳定,运行运行着就会莫名其妙的自己挂掉;php的扩展都是C写的,这也就意味着任何一个扩展出现线程竞争资源控制问题都能让整个挂掉

3)核心异步网络不支持(当然在linux只有同步非阻塞网络模型)。却少了这个使得很难开发一个能够承受大并发的网络应用。传统的网络模型和io都阻塞的。这样基本的编程的做法就是一个进程(或者线程)响应一个用户链接请求。因此无法完成像实时网游那样需要成千上万网络连接的任务。尽管php也有Libevent、eio扩展对此算是某种程度上面的弥补,但是感觉都不是那么完善

4)只支持web开发,不方便做 .exe文件,不方便做桌面应用程序. 不方便做手机程序.

5)不适合做爬虫、自动运行脚本.科学运算项目,这语言基本构架就不适合,虽然有很多方法实现。

6)后期维护困难。后期提速空间局限性较大。

引用鸟哥[Laruence]的话:
说PHP不支持多线程(90% of这些人不知道多线程模型和IO复用模型的不相伯仲), 烂. 说PHP不支持异步(90% of这些人, 根本不知道异步代表什么), 烂. 说PHP是屌丝语言(99% of这些人是想找寻智商优越感), 烂. 每每我看到这种的论调, 我真的很无奈, 因为你根本没办法让一个装傻的人变聪明.

php 的优缺点的更多相关文章

  1. DDD CQRS架构和传统架构的优缺点比较

    明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...

  2. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  3. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  4. sql server的优缺点

    sql server的优点众多,让其在数据库领域独占鳌头,成为最受欢迎的数据库系统,其优缺点也自然是喜爱者们所关注的,首先了解一下它的历史: sql server是一个关系型数据库管理系统,最初是由M ...

  5. 单页Web应用优缺点

    一.定义单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HT ...

  6. 使用iframe的优缺点,为什么少用iframe以及iframe和frame的区别。

    注:HTML5不再支持使用frame,iframe只有src 属性一.使用iframe的优缺点优点:1.程序调入静态页面比较方便;2.页面和程序分离;缺点:1.iframe有不好之处:样式/脚本需要额 ...

  7. 几款主流PHP框架的优缺点评比

    PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...

  8. Mvc与WebForm优缺点及Mvc的使用

    关于Mvc与WebForm的优缺点在网上的评论可谓不胜枚举,但脱离了我们的项目来谈这些意义就不大了.以我们这次改版来看,WebForm的优势有以下几点: 一,可以使用<#include>, ...

  9. mysql_建立索引的优缺点 #转自Starzm#

    建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能.         第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.         第二.可以大大加 ...

  10. AJAX工作原理及其优缺点

    1.什么是AJAX?AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它 ...

随机推荐

  1. day2-课堂笔记

    #面向对象 函数=方法 系统内建函数:len().id() 对象函数

  2. Node.js实战(八)之回调函数

    Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都 ...

  3. MP实战系列(十八)之XML文件热加载

    你还在为每次修改XML文件中的SQL重新启动服务器或者是等待几分钟而烦恼吗? 配置了热加载即可解决你的这个问题. 这就是XML文件热加载的目的,减少等待时间成本,提高开发效率. SSM框架配置(Spr ...

  4. leetcode63—Unique Path II

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  5. JS获取客户端公网IP和IP地址

    网上解决方案 1.通过搜狐接口 获取方式如下: //网页端引入脚本 <script type="text/javascript" src="http://pv.so ...

  6. Android ScrollView 嵌套ListView的替代方案

    概要:本例仅提供替代思路. 原需求:实现下图这个布局 要求:头部菜单固定,实现Viewpager.中间的按钮菜单,底部的listview一起能够上下滚动. 做法: 把Viewpager.中间的按钮菜单 ...

  7. python_环境的配置

    1.首先登入官网:https://www.python.org/downloads/windows/ 下载: 下载executable installer 2.安装 ipython,jupyter 地 ...

  8. Centos7 定时任务启动python脚本发送邮件

    直接上python脚本: 2.我是把这个脚本放在home文件夹下面 3.在centos命令模式下: crontab -e   命令编辑启动脚本: 4.第一个命令意思是:每天9点到下午5点,每隔一个小时 ...

  9. vim打开多窗口、多文件之间的切换

    打开多个文件: 一.vim还没有启动的时候: 1.在终端里输入  vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :e file 可以再打开一 ...

  10. Maven学习第1期---Maven简单介绍

    前言 Hadoop的MapReduce环境是一个复杂的编程环境,所以我们要尽可能地简化构建MapReduce项目的过程.Maven是一个很不错的自动化项目构建工具,通过Maven来帮助我们从复杂的环境 ...