PHP语言的优缺点对比(网上文章总结)(非原创)
优点
开源 免费性 快捷性 程序开发快,运行快,技术本身学习快
插件丰富,网上的解决方案有很多,而且还有庞大的开源社区可以提供帮助。
跨平台性强 效率高 图像处理 面向对象
在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序
PHP 性能很强 . 配合简单、稳定、容易部署,总的来说 php能帮你低成本完成事情
缺点
1)函数命名不规范 驼峰法和下滑线,传参位置不一 你知道的
2)单线程 ; PHP本身,一直以来php就是个单进程的程序;虽然php的pthreads扩展早就有了。但是它不够稳定,运行运行着就会莫名其妙的自己挂掉;php的扩展都是C写的,这也就意味着任何一个扩展出现线程竞争资源控制问题都能让整个挂掉
3)核心异步网络不支持(当然在linux只有同步非阻塞网络模型)。却少了这个使得很难开发一个能够承受大并发的网络应用。传统的网络模型和io都阻塞的。这样基本的编程的做法就是一个进程(或者线程)响应一个用户链接请求。因此无法完成像实时网游那样需要成千上万网络连接的任务。尽管php也有Libevent、eio扩展对此算是某种程度上面的弥补,但是感觉都不是那么完善
4)只支持web开发,不方便做 .exe文件,不方便做桌面应用程序. 不方便做手机程序.
5)不适合做爬虫、自动运行脚本.科学运算项目,这语言基本构架就不适合,虽然有很多方法实现。
6)后期维护困难。后期提速空间局限性较大
PHP面向过程
数据库连接举例
$conn = mysql_connect('服务器名称', '数据库登陆名', '密码') or die('连接不成功!');
mysql_select_db('库名', $conn) or die('数据库不存在!');
$queryid = mysql_query("select * from sort");
while ($rs = mysql_fetch_assoc($queryid)) {
echo $rs['name'], '<br>';
PHP面向对象
//数据库类
class db {
private $conn;
private $queryid; //属性
//构造函数
public function db($host, $dbuser, $dbpasswd, $dbname) {
$this->conn = mysql_connect($host, $dbuser, $dbpasswd) or die('连接不成功!');
mysql_select_db($dbname, $this->conn) or die('数据库不存在!');
}
//查询方法
public function query($sql) {
$this->queryid = mysql_query($sql, $this->conn);
}
public function fetch_assoc() {
return mysql_fetch_assoc($this->queryid);
}
}
//2.在a.php文件中实例化,代码使用变得简结和容易理解,代码的重用性
inclode('db.php');
$db = new db('服务器名', '数据库登录名', '密码', '库名');
$db->query("select * from sort");
while ($rs = $db->fetch_assoc()) {
echo $rs['name'], '<br>';
}