为什么要从php 加入到 go 的潮流

Alex65 等级 983 0 0

为何我要说加入go开发是一种潮流,尤其是对于php开发人员,我加入了很多go的开发群或者爱好群,发现大部分人都是从php过来的,原本google开发golang是想让更多的c/c++人员来使用。

PHP 语言作为当今最热门的网站程序开发语言,它也是我多年来一直使用的语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。

首先php是弱类型语言,弱类型的好处就是能提升开发人员的开发效率,加之php有非常强大的array以及对应的数组处理方法,大部分你用得到的数组处理函数php本身已经提供,所以开发人员使用起来非常方便,可以用较少的代码实现我们想要的功能。

php也是面向对象的,基本上所有的设计模式在PHP中也可以被作为规范和使用,但是当我们去看很多项目源码时会发现很少有人会这么做,原因就是用php就是为了快速开发,降低成本,加上php入门要求低,开发人员水平参差不齐很难像java一样用来开发工业及项目。

传统的php开发模式一般都是依托fastcgi(php-fpm)apache 、nginx 的同步编程模式开发,这样降低了实现成本和维护成本,但是在实际项目中异步多线程的场景还是挺多的,比如一些异步通知或日志、定时任务、消息队列、网络通信,有的时候我们不得不加入其他语言或插件(swoole、workerman)或者redis等消息队列的形式来协助来满足这样的需求,当然也可以整个项目都使用swoole来开发解决这样的痛点。

在笔者看来php在开发上还是非常方便与高效的,性能上从php7后已经大幅度提升,尤其是php8的到来,性能已经不是问题。真正的问题还是项目维护问题,正因为弱类型与松散的面向对象,强大的数组能力,很多人都是数组一把梭,导致业务逻辑从代码中无法直接知晓数据结构包含一些什么数据,导致项目维护非常困难,还有一个感觉就是php在后续的升级上似乎偏离了phper们心中希望的样子,比如官方支持类似swoole这样的功能,比如cli功能的增强以及代码调试方面的友好处理。

我第一次接触go是因为好几年前的一个项目要使用身份证读卡器,当时的读卡器产商提供的机器没有对应的API接口,只有驱动程序,需要自己写API发送给后端php接收,当时想用java写,但是要给好多客户机装,客户机又是客户自己的笔记本电脑,系统不同, 用java还得给他们装虚拟机,网上查资料的时候刚好看到了go可以直接编译为可执行文件,而且可以跨平台编译,随即就用go写了个工具调用c的驱动最终将数据发送给php接收,发现go好方便,写一个可执行文件丢给客户就行,省时省力。

后来发现go在网络方面也是如此强大,Go语言内置了丰富的net库,不依赖Nginx、Tomcat等WEB服务器便运行WEB程序,很多代理工具内网穿透工具都是go写的,而且非常高效和稳定。当然优秀的http框架也很多,比如:gin 、Echo、Iris 、Beego、 goframe等等。其中不得不说下goframe这个框架对于phper入坑go非常友好,前面我们说到php有着强大的数组处理函数,goframe提供了类似php这套解决方案(gmap、garray、glist、gset等),还包含其他非常高效的工具库,包括字符串处理、类型转换、缓存处理、队列、任务处理等极大的提升开发效率。

最后也给大家分享一个我们自己开源的项目,系统基于goframe这个框架开发,开源的项目名称:gfast 管理系统,系统包含了用户管理、部门管理、岗位管理、菜单管理、角色管理、字典管理、参数管理、操作日志、登录日志、在线用户、定时任务、代码生成、服务监控、在线构建器、文件上传、cms管理、模型管理、工作流引擎等模块。目前正在V2.0版本的升级开发中…欢迎各位一同来完善gfast管理系统。

收藏
评论区

相关推荐

PHP 与 GO
PHP --- ![输入图片说明](https://static.oschina.net/uploads/img/201608/22112754_GEtW.png "在这里输入图片标题") 输出 json ------- ![输入图片说明](https://static.oschina.net/uploads/img/201608/22112825_n
PHP手动安装扩展
#### 进入源码目录下的EXT cd php/ext/* #### 使用PHP安装扩展工具phpize /usr/local/php/bin/phpize #### 进入源码目录编译安装 可以看到再EXT目录下生成里一些文件,执行 ./configure --enable-* --with-php-c
Ubuntu 下 Apache2 和 PHP 服务器环境配置
Ubuntu 下 Apache2 和 PHP 服务器环境配置 ============================== 1、简介 ---- 本文主要是 Ubuntu 下 Apache2 和 PHP 服务器环境配置方法,同样适用于 Debian 系统:Ubuntu 20.0.4 注意:文中运行的命令基本上需要管理员权限 2、安装 Apache
11.32 php扩展模块装安装
1.32 php动态扩展模块安装 ---------------- **注:** 本节操作使用PHP7。 查看PHP模块: [root@cham002 ~]# /usr/local/php/bin/php -m [PHP Modules] bz2 Core ctype date dom e
Bootstrap 结合 PHP ,做简单的登录以及注册界面及功能
登录实现 ==== HTML代码 <div class="container"> <?php if (isset($error_msg)): ?> <div class="alert alert-danger" role="alert"><?php echo $error_msg; ?></div>
CentOS 6.4 安装 media wiki 1.23.6(转)
准备: === CentOS 6.4系统及Root或者sudo权限,系统正常连接网络 使用到的软件: ======= apache ,mysql-server ,php ,mediawiki ,memcached 软件包的安装 ====== 首先,需要安装apache, php, mysql-server, mysql-client等相关软件包
CentOS 7下搭建MediaWiki环境
一、安装php、httpd和mariadb [root@dellnode1 ~]# yum install -y mariadb-server mariadb httpd 导入php的repo源: rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Centos配置nginx+php
添加第三方源: yum install epel-release 安装nginx: yum install nginx 安装php: yum install php php-fpm php-mbstring php-mysql php-gd php-fastcgi php-cgi 安装redis: yum ins
Kafka学习之(三)Centos下给PHP开启Kafka扩展(rdkafka)
Centos版本:Centos6.4,PHP版本:PHP7。 在上一篇文章中使用IP为192.168.9.154的机器安装并开启了Kafka进行了简单测试,充当了Kafka服务器。 本篇文章新开启一台IP为192.16.9.157的机器给PHP开启扩展。 找到github的扩展下载地址,这里是php-rdkafka,虽然php有一个扩展是php-kaf
LNMP架构之php
本文索引: * php-fpm的进程pool设置 * php-fpm慢执行日志 * open\_basedir参数设置 * php-fpm进程管理 * * * ### php-fpm的pool php-fpm.conf可以设置多个pool,在其中一个pool资源耗尽,会导致其他站点无法访问资源,报502错误。有必要把站点进行分离,分别
Larave
作者 -- 本文由 张舫 童鞋投稿 > 同时也欢迎更多的小伙伴投稿 开发需求 ---- PHP >= 7.0.0OpenSSL PHP ExtensionPDO PHP ExtensionMbstring PHP ExtensionTokenizer PHP ExtensionXML PHP ExtensionApache/NginxMySQ
Linux下php安装Redis扩展
1 安装redis /usr/local/php/bin/phpize #用phpize生成configure配置文件 ./configure --with-php-config=/usr/local/php/bin/php-config #配置 1 make #编译 2 make install #安装
PHP7中用opcache.file_cache导出脚本opcode实现源代码保护
停止php-fpm(apache同理): sudo /png/php/7.0.0/png\_fpm stop 创建opcode缓存目录: mkdir -m 777 /png/php/opcache\_file\_cache 在php.ini中配置: zend\_extension=/png/php/7.0.0/lib/php/
PHP的前世今生
大家都知道,Facebook、淘宝等早期都是用PHP写的,在中国,PHP在百度、新浪、腾讯这三大互联网公司中应用比较多。 自1995年由丹麦人Rasmus Lerdorf(雷斯莫斯·勒道夫) 创建 PHP 以来, PHP 语言经历了激烈的演进。 ### PHP/FI - 1995年 _摘要:用Perl写的小工具_ PHP 继承自一个老的工程,名叫 P
PHP配置优化:php
> PHP-FPM是一个PHP FastCGI管理器,php-fpm.conf配置文件用于控制PHP-FPM管理进程的相关参数,比如工作子进程的数量、运行权限、监听端口、慢请求等等。 我们在编译安装PHP的时,在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。PHP-FPM配置文件为 php-fpm.conf,其语法类似 p

热门文章

一文带你认知MySQL异常

最新文章

一文带你认知MySQL异常