php项目开发

从事web开发该选择Python还是Java

作为一名IT行业的从业者,同时也是一名计算机专业的研究生导师,我来探讨一下这个问题。

首先,Python语言与Java语言都是当前IT行业内被广泛使用的编程语言,而且二者的应用场景都比较多,语言生态也比较健全。Python语言在近些年上升趋势明显,未来的发展前景也非常不错,不少IT行业内的程序员也开始转向Python开发领域,其中就包括Java程序员。

Python语言之所以得到了广泛的关注,主要原因是大数据和人工智能的快速发展,虽然Python也能够从事Web开发,但是在Web开发领域,Python的优势并不明显,在性能上不及Java,在解决方案上不及PHP。所以,如果从事Web开发,在当前的开发环境下建议学习Java或者PHP。

Java语言的特点是性能稳定且扩展性强,大型互联网平台更愿意采用Java方案,而且Java程序员比较多,开发风险相对比较小。PHP语言的主要应用领域就是Web开发,而且PHP在Web开发领域的占比份额比较大,相对于Java语言来说,PHP的开发周期具有一定的优势,而且PHP语言的程序员对于PHP语言的“忠诚度”还是比较高的,这从侧面说明了从事PHP开发还是具有一定“乐趣”的。

Python虽然也是Web开发领域的传统解决方案之一,但是在应用的广泛性上与PHP和Java还是存在一定的差距。虽然当前Python的性能有所提升,但是总体上与Java和PHP相比还是存在一定的差距,所以采用Python从事Web开发的团队并不太多。如果开发的项目规模不大,而且对于性能没有特别的要求,那么采用Python从事Web开发也是可以的。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!

展开
收起

作为Web开发人员,这9本书一定要看!

今天的文章主要针对Web开发人员编写的,因为大多数编程语言书籍都是枯燥乏味的,所以,今天就和大家推荐几本我认为每个Web开发人员都应该阅读的书籍。

这些书籍分为两部分,第一部分的书籍不是专门与Web相关的,而是所有编程人员都适合,很多示例都是用你不熟悉的编程语言编写的,但是你不用担心看不懂,它们依旧可以提高你的编程能力和思考能力。第二部分书籍则是主要和Web开发相关。

通用的必读书籍

1、《程序员修炼之道》

这是我读过的关于编程的最重要的书之一。尽管书中使用的编程语言是我平常用不到的,也不是所有的主题都是最新的,但这绝对是我作为一名开发人员在日常生活中使用最多的东西。我重读了最新的20周年纪念版,不得不说,这确实是一本值得你每年都去读一遍的书籍

书中涉及的概念包括开发人员的思维方式、沟通、期望管理以及其他相关的技术概念,如DRY原则、原型方法等。

2、《代码整洁之道》

这是另外一本伟大的书籍,在某些情况下类似于《程序员修炼之道》,都是讨论了良好组织结构的代码,书中包含许多Java和C++的示例,感觉有点枯燥,但也有很多适用于php、javascript或ruby代码库的技巧和建议。

这本书侧重于代码方面,包括如何构造函数,编写代码注释,数据结构测试等。简而言之,这是一本必读书籍。

3、《企业应用架构模式》

Martin Fowler有很多经典的书籍,除了《企业应用架构模式》,还有《领域特定语言》也十分推荐大家阅读,这本书与Ruby on Rails框架有很多关系,但是这本书又不单单只是为Ruby开发人员准备的,比如我用的编程语言是PHP,依然觉得这本书很有趣。

如果你想从头开始构建你的应用程序,或者想使用像Laravel或Ruby on Rails这样的框架,这本书将帮助你理解在这些框架中适用的不同模式,涵盖了封装、重构API、应用程序控制器等内容。

4、《计算机程序设计艺术》

这本书实际上是一个完整的系列。一种非常理论化的计算机科学书籍,如果你对编程很认真,那么你的书架上必须有一本它,斯坦福大学的计算机科学课程教科书就是它。

5、《计算机程序的构造和解释》

这是一本非常理论化的书,只适合真正的开发者,这本书成型于美国麻省理工学院(MIT)多年使用的一本教材。老实说这本书就在我的书上,我只读了我觉得有趣的部分内容,这是一本著名的且十分经典的书籍,如果你能坚持读完它,你一定会比90%的开发者更有优势。

6、《重构》

这是Martin Folwer另一本书籍,这本书的主题是我非常感兴趣的,重构可能是开发人员的日常,这本书有很多关于这方面的很棒例子,涵盖了你需要用到的各种重构技术。

更多Web相关的必备书籍

1、《JavaScript编程精解》

和许多开发人员一样,我对JavaScript总是又爱又恨,它是一种快速变化的语言,这本书对我的基本知识帮助很大,如果你刚接触JavaScript,那么,这本书十分适合你。

2、《精通Git》

我经常和一些只能熟练使用Git基础功能的同事一起工作,他们往往忽略了Git其他很厉害的功能,Git是我们每天都要用到的重要工具,当我碰到有人不能熟练使用Git的时候,我都会推荐这本免费的书籍让他们阅读。

本书全面介绍Git 进行版本管理的基础和进阶知识。全书共10 章,内容由浅入深,展现了普通程序员和项目经理如何有效利用Git提高工作效率,掌握分支概念,灵活地将Git 用于服务器和分布式工作流,如何将开发项目迁移到Git,以及如何高效利用GitHub。

3、《99 bottles of OOP》

正如你所知,我并不是一个Ruby开发者,不过,这本书还是很有趣的,而且能从中学到很多东西,正如我之前所说,学会使用其他语言会使你成为更好的编程语言。

这本书用一种有趣的方式,巧妙的示例和解释像你介绍如何写出整洁且易于理解的代码。

展开
收起

thinkphp如何使用vue进行web开发

vue可以说是近几年最火最流行的前端js框架,而thinkphp也是国内挺流行的后端框架。看到网上很多朋友的教程都是前端开发者写的,难免对像自己一样的后端程序员是一种打击。“怎么就没有从后台出发讲讲如何使用前端vue框架呢?”我时常这样想。终于我有机会,在一个公司内部的管理系统中成功将两者融合。

整个项目的系统后台使用php的thinkphp框架,前端使用vue的element ui框架,前后台交互使用axios库。这就是整个架构了。我要介绍的重点也就是大家关心的thinkphp,如何与vue交互。

vue中的v-for循环输出可以用thinkphp的volist标签进行替代。

volist标签进行替代v-for

2.vue的v-model绑定到在vue的data()属性中的一个thinkphp的变量(如{$变量名})。作用是前端元素的属性值变化随着{$变量名}变化而变化。记住是v-model="{$vo2['id']}"

v-model绑定到thinkphp的变量

3.vue前端与后台的交互使用axios库。这个axios相当于ajax。

4.按钮的单击事件使用@事件名:"绑定函数名"。如图:click是element ui的事件名称,文档中可以查到.onsubmit是绑定的函数.element ui 的属性以:开头,如:true-label="1",true-label是第六点提到的Checkbox的一个属性.可以参考下文档.

@开头的事件绑定的onsubmit函数使用

5.element ui框架中的事件如何调用呢?这其实就是初次使用的朋友不知道如何写事件的参数.如何知道事件有哪些参数,我想加入自定义的参数而不破坏原先事件自带的参数呢?看到这里朋友们的疑问就可以解决了.请看下面的例子:

我以Checkbox 多选框为例,具体文档大家可以看官网的文档说明.Checkbox 多选框有个change事件

Checkbox 多选框的change事件

change事件有个回调参数,大家一看到这个肯定就晕乎了,这参数传入什么呢,参数到底有几个呢?我测试过它的参数有2个.其中一个是官网上写的"更新后的值",还有一个可能是内置的事件参数(这个参数很多属性,与checkbox对象有关).我是如何判断事件的参数的呢,就是在vue的methods中写一个onclick函数,参数任意给我这给的是a,b,然后console.debug(a,b);即可.下边是输出2个参数的代码:

注意事件名称后边没有括号哦未知参数的前提下输出2个试探参数a,b

通过浏览器控制台的输出可以看到第一个参数就是选中或不选中的值:true/false.第二个参数就是很长的对象了.结果如下:

浏览器输出

写到这里我发现我应该单独拿出来写一篇文章给大家说说,越写越多啊!

接着第5点说,事件中我想加入参数还要带着原有的参数,怎么整呢?好办在

@change绑定事件的名称中加入一个参数$event即可.如下图我第二个参数传的是一个id整数值.

html页面调用element ui的事件

浏览器输出如下:

多加个参数的输出

浏览器控制台的输出结果1是:true-label的值,而7是我数据库表格的id.

经过以上介绍,我就把think PHP中如何使用element ui的知识点基本说到了.如果有朋友没听说讲清楚可以评论中喊我,我看到了就会回复的.欢迎交流.

展开
收起

「ThinkPHP5开发连载一」composer

Composer是PHP5.3以上的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及“packages”和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

Composer将这样为你解决问题:

1)你有一个项目依赖于若干个库。

2)其中一些库依赖于其他库。

3)你声明你所依赖的东西。

4)Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

composer安装

composer官网:

2.Windows安装composer

1)使用安装程序

这是将Composer安装在windows上的最简单方法。

下载并且运行Composer-Setup.exe,它将安装最新版本的Composer,并设置好系统的环境变量,因此你可以在任何目录下直接使用composer命令。

安装步骤:

①双击Composer-Setup.exe安装程序,进入安装程序。

②点击“next”,选择php.exe安装路径。

③选择composer代理,无需选择,直接下一步。

④准备安装composer,点击“Install”进行安装。

⑤下载组件

⑥安装完成

注意:1. 显示上图,则安装成功,如果报错,检查PHP扩展的OpenSSL是否打开。2. 打开openssl扩展方法:找到PHP配置文件php.ini,找到extension=php_openssl.dll,将他前面的分号去掉(完成后重启服务)。

⑦安装结束

⑧测试安装是否成功。在cmd命令下输入“composer -v”,显示composer信息则安装成功。

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员

关注卓象程序员,定期发布技术文章

下一篇讲解“ThinkPHP5的安装”

展开
收起

项目立项时,产品经理该了解和注意的事

项目立项时,产品经理该了解和注意的事。还有关于项目开发、开发任务评估、技术选型,技术框架等常识。

1. 产品经理和包工头

小奈:怎么了解开发实现功能的方式和难度?

大仁:上次不是写了这篇,产品经理如何与开发沟通?

小奈:怎么准确分配需求给各个端的开发?

大仁:好吧,要了解的那么细,那我就深入讲解下。

2. 项目:打地基+盖房子

大仁:如果你奶奶问你,产品经理是做什么?小奈:额,就是负责产品设计、管理、协同开发、市场,推进项目落地的。

大仁:错,如果项目开发是盖房子,那么产品经理就是建筑设计师,项目经理就是包工头,开发就是水泥工。

和盖房子一样,最重要的是打地基,地基决定了房子的高度,打地基就是技术架构选型,例如淘宝前期是php,后期由于业务发展,数据库瓶颈,换成Java。

项目一般分为前后端,无论是什么前端项目,都需要后端支持,正常的开发人员配备,也是两个后端对四个前端(web、pc、Android、ios)对4个产品。

3. 敏捷开发-小步快跑

项目开发模式

瀑布开发:传统的项目型软件开发,流程、周期较长,常见于外包团队;敏捷开发:互联网的产品迭代,每周一个小迭代,mvp小步快跑,常见于互联网创业项目。

小奈:瀑布开发,什么鬼来的?还是不懂啊。

大仁:假如说项目开发,是盖房子的话,那么数据库设计、架构搭建,就是打地基,地基不打,如何盖房子?

大仁:瀑布开发就是,给包工头,包工头按照设计图,盖了1年房子后,你终于去看盖好的房子了,一看不是自己想要的,又叫包工头,又开始项目二期;

敏捷开发,就是你要求挺多的、而且没有最终确定的,然后包工头,快速打了个地基,你每周过去看房子,盖得怎么样了,这样子,盖出来的房子,可以让你比较满意;

4. 项目立项-产品篇

项目立项时,产品经理要做些什么呢?

大公司产品和项目经理分开;小公司产品兼任项目管理。

产品和项目是有差别的,产品无边界(版本管),项目有边界(可拆解成固定的开发任务、有验收标准)。

产品经理决定做什么,在立项时(第一个版本),需求分析基本完成,不会有大的改动,否则项目经理砍死你。兼任项目管理,要有任务开发时间表,一般用project/jira/excel来进行管理。

5. 开发任务如何量化?

大仁:好问题,其实开发的工作,是可以量化,标准化的,有个外包网站,它里面有个估价的功能,估价会按照标准(项目类型、模块分类、功能点)进行评估,最后得出一个报价。

报价/工作量

大概需要耗费21-29w左右,假如一个开发工资1w,那就是需要4个开发(2个后端+2个前端),大概6个月时间,那么如果你把这个人物和需求关联后,大概要做多久,应该可以衡量了吧。

6. 编程语言图鉴

随着互联网的发展,技术不断更新,日新月异,后端开发语言众多,php、java、c#、python、golang,百花齐放,百家争鸣。

Java: 20多年后端语言,sun公司的;c#:微软的后端开发语言,为了对抗Java;

python:谷歌的,随着人工智能一起变热;

golang:号称是后端里,最快的男人;

python和golang处于快速上升,Java常年霸主,坚如磐石;php、c#则随着历史,滚滚车轮,慢慢退出舞台。(个人观点,如有不对,请指正。)

PHP还是Java

小奈:PHP和Java的区别、优缺点,适用场景是什么?大仁:Java和php都是后端开发语言,Java适用于中大型企业级服务器开发,PHP适用于中小型服务器。

(1)上手难度比较

– php易学易懂,非技术的人,稍稍学习,可以上手,环境搭建用LAMP/WAMP一键安装包,常见开发工具,phpstorm。– Java则要求理解,Java语法和核心架构(jar包)以及JVM,环境配置也较为麻烦,常用开发工具eclipse或Intellj Idea;

(2)优劣势比较

Java的优势:从数学运算、数据库访问、技术架构上,优于php,所以对于跨平台大型,的企业应用系统,Java几乎已成为了唯一的选择,阿里就是全线Java系列,水平也是国际前沿;Java的劣势:Java架构、性能强大的背后,或者说代价,就是复杂性,尤其是在web框架,用Java开发一个web客服系统,可能需要9个月、看9本书,而php可能只需要2个月,3本书;php的优势:php吸收了Java、c和perl的有点,专注于互联网web领域,很适用于快速开发、维护,中小型网站;php的劣势:php项目后期,随着业务发展,对数据库要求高,php这方面支持以及架构均弱于Java,还有php程序员较少,不像Java程序员的生态那么强盛。

(3)适用阶段

创业初期:php,后端;中期:php、c++,cto+后端;

后期:java、c++,cto+架构师+后端。

其实,为什么多了个c++呢?

其实创业项目初期,它是一个小项目(后端+数据库),随着业务的发展,对数据库要求高了,再后来就对架构有要求了。所以一个大的系统,可能由多个子系统组成,子系统可以是不同的语言开发,只要遵循协议(soap/websevice/restful),就可以并行,形成架构了,所以中期就会需要DBA, 后期就要架构师了。

Java-多年的大哥

2000伊始,Java由于其优秀的语言特性,被大家推举为大哥。大哥宝座一坐23年了,期间php、ruby等试图挑战,其地位,但坚如磐石。

后端时代:

那时候,还没有前后端,只有后端。Java工程师写完后端逻辑,随便再把数据包在网页,传给浏览器,一人包办。这里不得不介绍下,汤姆猫web服务器。

web服务器有哪些:

Tomcat:汤姆猫;Weblogic:微波炉。

Java程序员每天的工作,就是把逻辑实现好,打包成一个war包,扔进web服务器,看下浏览器运行效果,正常的话,就下班回家了。

Java的编辑器

写过Java的应该,都用过eclipse,现在用Idea的比较多了貌似。Java的集成开发环境,就长这样了,其他语言的也差不多。左边是项目文件,会有主入口文件,其它的包、类文件,中间是某个文件,的代码编辑区。

类与对象Java是面向对象编程语言,类和对象,应该是编程初学,必知的。科普下类和对象,假如猫a、b是对象的话,那么类是什么?

类就是动物,类是抽象化的,对象才是具体的。

父类:动物public class Animal{}子类:猫public class Cat extend Animal{}对象:a猫Cat a = new Cat

展开
收起

新手:如何使用MAMP在本地开发PHP项目?

MAMP代表Macintosh,Apache,MySQL和PHP,它是一个允许安装本地服务器类型环境的应用程序。通过安装这个应用程序,我们可以在本地创建一个虚拟服务器作为我们的开发环境。

我们首先获得它,网上搜索直接下载即可。双击开始安装,按步骤完成安装。

MAMP和MAMP Pro功能都差不多,当然MAMP Pro是花钱买的,对于大多数情况,MAMP绰绰有,所以需要安装一个就得。

将MAMP文件夹拖到“Application”快捷方式上,安装将正在进行中。完成后,随意弹出光盘映像。打开“Applications”文件夹,找到新的MAMP目录,在里面你会找到MAMP.app,打开它,程序应立即启动并打开默认浏览器,指向起始页面。恭喜,你现在拥有本地服务器!

在主MAMP应用程序屏幕上,你会看到“Preferences(首先项)”按钮。随意点击它可以查看几个可用的选项。

从这里,你可以选择MAMP何时启动和停止服务器,如果选择不自动启动服务器,则每次打开应用程序时都需要明确告诉它们运行。也可以设置主页,默认为MAMP开始屏幕,让你网站快速访问phpMyAdmin。

在“端口”选项卡中,默认的Apache端口通常为8888,默认的MySQL端口为8889,我们可以不更改这些,因为它们不会干扰任何其他设置,也不需要每次启动和停止服务器时输入密码。以这种方式在URL中包含端口号;,所以访问时可以这样:localhost:8888/,但是为避免这种情况,可以将端口更改为常规Web服务器的操作:端口80和数据端口3306,所以URL简单地访问:localhost/,虽然这样方便我们访问地址,问题是在打开和关闭服务器时,很可能需要输入密码。

“PHP”选项卡允许选择在设置中运行的PHP版本,它将默认为php5.4,你也升级为PHP7,但是要了解php7最新功能,或者需要哪些扩展插件。

“Apache”选项卡是用于更改文档根目录,根部是MAMP存储和访问所有网站和目录的地方,默认情况下:/Applications/MAMP/htdocs,你也可以自己修改成你喜欢的地址文件夹。在MAMP应用程序窗口中,单击“首选项”,然后单击“Apache”修改。

到这里MAMP搭建环境就算完成,可以试一下开发项目了。

展开
收起

工欲善其事必先利其器,盘点Github上那些优秀的PHP项目

工欲善其事必先利其器,作为一个开发者,了解并使用前人造好的轮子能让我们的开发事半功倍,在这里老宅整理了几个Github上有趣的php项目与大家分享。

swoole

Github仓库名称:swoole/swoole-src

swoole

Swoole是一个面向生产环境的 PHP 异步网络通信引擎,可以广泛应用于互联网、云计算、企业软件、移动通信、车联网、物联网(IOT)、网络游戏、智能家居等领域。 让 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、WebSocket 、HTTP,Unix Socket服务。swoole实现了php的异步、多线程,正如官方所说“重新定义PHP”,也许这才是swool的精髓吧。

对于phper来说,以前做web开发主要是写业务逻辑,只需要php的知识即可胜任,使用swool编程则需要补齐多线程编程的知识、进程间通信的知识、网络协议TCP/UDP的知识,否则很多地方理解起来会有难度。

swoole生态也日趋完善,各类基于swoole的衍生开源项目层出不穷,在框架、工具、分布式、通信协议方面都有建树。

非常优秀的一个即时通讯框架,我自己非常喜欢。

Piplin

Github仓库名称:Piplin/Piplin

极简易构建,零宕机部署(官网原话)。piplin(灵感来自于"pipeline")是一款免费、开源的持续集成与部署系统,适用于软件的自动化构建、测试和部署相关的各种应用场景。其前身是Fixhub,一款免费开源的php项目自动化部署系统,定位为持续集成系统。现已支持PHP、Python、JAVA、Ruby等项目的构建、测试与发布,可与Gitlab、Github、Gogs、Gitee(Oschina)等代码托管平台进行集成。

yaf

Github仓库名称:laruence/yaf

Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,Yaf以PHP扩展形式开发的PHP开发框架, 相比于其他的PHP框架, 它更快,更轻便. 它提供了Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的PHP框架。

yaf作者是php项目核心组成员,zend顾问,php7的主要开发者,在新浪开了微博,大家可以围观下,网名:Laruence。

zephir

Github仓库名称:phalcon/zephir

zephir

Zephir 是一种中间语言,以接近 PHP 的语法来编写代码,然后转换编译时 zephir 会被翻译成 C 语言然后编译成 php 扩展,简化了PHP 扩展的创建和可维护性,降低了php扩展的开发门槛。利用编译来提高性能和资源消耗,又不需要关注内存管理等复杂操作。

Zephir丰富了php软件项目的开发方式,从运行效率来说,php扩展的运行速度必然是高于php源码的。

phalcon

Github仓库名称:phalcon/cphalcon

phalcon是一个以 C 扩展交付的全堆栈 php 开发框架,其革命性的架构,使Phalcon成为有史以来最快的 php 开发框架(官网原话)。

其独特的架构允许框架总是内存常驻,调用phalcon提供的功能,没有文件读取的开销,效率很高,其他方面可以像传统的PHP开发框架那样使用。

workerman

Github仓库名称:walkor/Workerman

worker'man

Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。

workerman的核心功能类似swoole,不过是前者纯PHP实现的,相对于swoole,workerman底层功能比swoole少一些,但相对简单,学习门槛低一些,但是workerman应用层面的功能比swoole丰富。

以上只是Github中php优秀项目的一部分,如果你用过其他好的开源项目,欢迎在留言与我们交流分享。顺便点一波关注。

展开
收起

PHP做不了大型项目!是程序员的技术不行,还是天生的缺陷?

常听朋友说,PHP是世界上最好的语言,没有之一。听我心潮澎湃,差点就去学PHP(其实我学了,只是太笨,没学会)。作为世界上最好的语言,当然是有它的理由的,我感觉PHP最好的一点,就是代码修改之后无需编译就能直接运行,这是它最方便最实用的长处,但同时也是它致命的缺陷,就是代码容易被抄袭,因为你打开PHP文件,代码就直接在那摆着,你随便改,随便抄。

与JAVA和C#这些编译型语言相比,PHP的修改之后无需编译直接就可以执行的优点,无疑给开发者带来极大的便利。编译型语言的程序员在开发阶段,每次修改完代码之后要先编译,然后调试运行,开发效率上比PHP程序员要慢的多。

另外,编译型语言修改代码需要有开发环境,PHP就不一样了,用Windows自带的文本编辑工具就能修改(当然不提倡这样做,除非紧急情况)。有同学问了,你把PHP说的这么好,为啥没有见到用PHP开发大型项目?大项目是有的,互联网巨头百度就是用的PHP。那除了百度呢,这个,那个,嗯,让我想想。

的确,现在的大型互联网公司,后台程序大都用的JAVA这样的编译型语言,那么和JAVA相比,PHP到底差在哪里了?

各类语言漏洞占比

首先,PHP是脚本语言,无需编译,开发效率高。但这既是它的优点,也是它的缺点。缺点就是它的运行效率比编译型编译要慢。开发效率和执行效率成反比,这是软件开发一条亘古不变的定理。

其次,PHP是弱类型语言,在隐式类型转换的时候,容易造成数据转换出错,埋下隐蔽的漏洞。这个缺点也是相当严重,轻则后台被非法登录,重则服务器会被拿下。这是程序员在敲代码时需要注意的地方,尤其是在权限判断的关键地方。

还有就是PHP的门槛低,新手入门快。如果从别的语言转到PHP,那就更快了。但正是这低门槛造就了PHP的开发者良莠不齐,直接导致PHP项目的安全性大打折扣。当然PHP的安全问题,是这门语言的天生缺陷,不能全说是程序员的错。

不得不说,PHP语言今日的广泛应用是其它后台语言无法比拟的,而如今像Python,NodeJS这类的后起之秀,也在一点一点蚕食PHP的市场。脚本语言以其独特的魅力征服了程序员,为啥程序员喜欢脚本语言?答:开发效率高。问:开发效率高有什么好处?答:可以早下班。这句话深深触动了程序员的内心。

展开
收起

PHP开源项目那么多,你们都喜欢哪几个?

PHP是目前所有编程语言开源项目最多编程,PHP本身开放源代码,所有的PHP源代码都可以得到。

我们热爱PHP还有其他特点,比如PHP本身免费且是开源代码,目前常见的平台都可以运行,有UNIX、LINUX、WINDOWS、Mac OS、Android等平台,更重要是PHP也是支持面向对象,完全可以用来开发大型商业程序,所以目前有很多PHP开源项目提高开发者使用。

下面介绍几个我们最常用且比较好用的PHP开源项目。

WordPress

WordPress是一个博客开源项目,本身插件众多且易于扩充,对于不太熟练PHP开发者来说是很重要的,不用你懂太多PHP,只要你根据提示安装就可以,但是如果要二次开发它最好需要一个熟练的PHP工程师才能更好的二次开发。目前WordPress在外国使用比较常见,国外还有专门职位是WordPress开发工程师,但是中国招聘这个职位很少,毕竟国人使用频率较低。

ECSHOP

ECSHOP是一个用PHP开发的商城网站,数据库是MySQL,其实我们不用想都知道,只要PHP开发的网站基本都是MySQL数据库。ECSHOP网店是一个完整购物系统,基本我们想要的功能都可以实现。

ThinkPHP

ThinkPHP是一个快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,并且永久免费使用,目前已升级5.版本到以上,这个框架是国人自己开发,是推荐PHP初学者选择第一个框架,学习资料十全。我们见过ThinkPHP开发项目比较好的商城网站是tpshop,和ECSHOP差不多都是商城开源网站。

DedeCms

DedeCms一个内容管理系统,包括发布、编辑、管理等网站管理系统,同样也使用php+mysql开发,只要完成搭建PHP开发环境就可以一键安装,不用任何其他操作,DedeCms是中国最受欢迎的Cms系统之一。

discuz!

discuz!一个通用的论坛社区系统,不仅功能强大,在网站访问速度方面,discuz!值得肯定的一个php开源系统。

我们常用的PHP开源项目还有CakePHP,Drupal等,最后希望各位在使用过程中尊重开发者源码,众多PHP开源项目中你们都喜欢哪几个?

展开
收起

PHP互联网项目开发的锻炼心得

经过6年的锻炼了,我的php开发水平逐步提高,代码质量有了飞跃。总结下这几年的经验教训,总是印象深刻。在企业里开发的这些事儿,需求不断变化,方案该来改去,写好的代码眼看着无用武之地!好在几个项目下来,对php项目管理、人员分配、项目进程安排等方面,都是有收货的。

php开发速度快

就开发语言来说,PHP是最好的用来做网页的程序,没有之一。简单快捷就是它主打的特征,现在php7.1以上,性能提升非常快,同时LNMP,LAMP这样的搭配,在其他语言里面是没有的。

之前公司项目采用JAVAEE,开发速度慢的劣势始终伴随,一个小小的项目可以折腾6个多月,而且运行速度始终上不来。

改成PHP开发大大提高了项目速度,同时部署的灵活性和稳定性有进一步提高。同时有足够的时间和精力应付,不懂程序开发,一边要这这样做,另一边那样做的老板们。

php7进一步优化速度

然而新程序开发的过程都不是一帆风顺的,其中推倒重来一遍又一遍,这些痛苦的事情不断浮现,路子走通了,大家都开心了,然而背后的这些记忆不能磨灭。

总结下经验:

项目开发不能盲目开工,公司的需求会变化的,开发前一定要吃透需求,总结合并一些相似的功能不明确的功能,不能忙不开发,宁可简单,不能评自己的想法深入功能不贪多,做好调理,先简单再深入哪怕功能少,也要看到成效,给公司树立信心,增加老板的成就感先总结这些吧,项目管理也是一门学问,在平时的实战中不断积累经验也是很重要的!

展开
收起