案例展示 Case demonstration

秒速赛车客服


作为多年PHP的开发者在使用了Go语言之后

周期:

服务内容:

简介:GoLang是一种静态编程言语,不像PHP那样是动态的。因而,你必要正在初始化变量和对象时提前念显现。正在PHP中,你长期不会初始化变量,必要时就地应用就能够了。因而,正在声明一

关键词:php开发简单网站

网站:

  GoLang是一种静态编程言语,不像PHP那样是动态的。因而,你必要正在初始化变量和对象时提前念显现。正在PHP中,你长期不会初始化变量,必要时就地应用就能够了。因而,正在声明一个新变量之前,对待GoLang而言你必要三思尔后行,我发明这比正在PHP中查验变量的做法更有用率。PHP 7增加了类型声明,这是一个更好的实习,不过正在编写代码之前三思尔后行是一种更健壮的做法。

  Go 是一种性能健壮的编程言语,具有奇异的性能组合。而 PHP 是正在效劳器端实行的剧本言语,与 C 言语好像,是常用的网站编程言语,同时合用于全部微效劳、小型、中型甚至大型行使措施。对待开辟者而言,两者正在应用经过中,有哪些差异的体验?本文即将为大众揭晓。

  打包保护也很不不异。正在GoLang中,打包保护是内部处置的;而PHP有两层差异的完毕方法:第一,PHP扩展级别;第二,每局部都应用的库级别。PHP的情状更为纷乱,而go则将两层处置放到了一同。

  其次,对待高级测试技巧(比方BDD、TDD和A/B测试),PHP具有更众援救、更众库,再有一个更大的社区。比方,两种言语都完毕了Cucumber(或Gherkin),不过PHP 的 BEHAT 完毕援救40众种言语,是齐全基于独立组件修筑的,况且正在GitHub上的援救比Cucumber更众(更众分支、更众给星等等)。

  Go是一种性能健壮的编程言语,具有奇异的性能组合。我很缺憾没能更深切地研习Go。我返回PHP的情由与编程言语自己无闭,不过,我念总结一下这6个月的经历,并对照一下这两种言语。

  GoLang 异常奇特的性能之一便是goroutine。这性格能援救异步运转性能。PHP中没有任何性能与Goroutines的容易性和易用性相提并论。每当必要正在PHP中举行并行经管时,你都必要增加外部的列队机制(Beanstalk、RabbitMQ等)。这会加剧根底架构的纷乱性,并减少项主意纷乱性。

  16岁的时间,我发明了PHP。这是我研习的第一门编程言语。当时,我操纵PHP来查验用户提交的外单并发送电子邮件,大大都外单都是“联络咱们”。众年往后,我永远将PHP动作我的强项,且坚韧不拔地发达强盛本人的PHP学问和本领。固然我感到本人算不上PHP老手,但这是我最清晰的编程言语。以前,我曾有机遇正在小型项目中应用Ruby、Java、Python和NodeJS。我通过这些经历对照PHP和其他编程言语,清晰若何更好地操纵PHP的利益并抑制它的纰谬。

  原题目:动作众年 PHP 的开辟者,正在应用了 Go 言语之后......

  结果,对待性能测试或UI测试,PHP的库更众,且对现有器械的援救更好。Selenium 具有异常健壮的PHP援救(3000众个跨浏览器测试、视频记载、文本和可视日记等),而对待Go来说,惟有一个没有优越保护的驱动措施 tebeka / selenium(结果一次提交发作正在5个月前)。

  起首,对待职能测试,Go的测试包中具有许众职能测试的性能。pprof 等很众库都能够应用这些性能来创筑豪华的数据告诉。固然PHP也有一套可用于职能测试的库和技巧,但Go的尤其易于应用。我笃信这是静态类型言语的上风之一。

  这两种言语有昭彰的区别,正在两者之间做选拔异常容易。GoLang 的职能更好,具有原生异步性能以及其他基础性能,异常适合必要频仍应用的小型行使措施和微效劳。

  6个月前,我成为了 MessageBird 的一名工程师。申请使命的时间,我填写了PHP,不过我没念到入职后我就起首应用 GoLang,况且与PHP渐行渐远。这种一次很好的资历,正在这段时辰里,我研习了一种新的编程言语,而目前我又回到了PHP,同时我还具有6个月的Go编程经历。

  自从编程问世往后,面向对象的观点平素具有一席之地。90年代,面向对象正在C++中取得了普通行使,也因而成为了主流范式。面向对象最吸引我的地耿介在于,它允诺工程师应用代码创筑生意逻辑图,本相证实,当不息发达的体例发作转变时,这种做法供应的价格无可限量。PHP和GoLang都供应面向对象的性能,不过,这两种言语之间存正在很大分别。

  GoLang 的职能比PHP更好。咱们稀有百种基准,能够正在百般情状下测试 PHP 和 GoLang,但大大都时间昭彰都是 GoLang 胜出。最厉重的是,Go的开辟速率很疾:测试运转速率更疾、内存应用效用更高、CPU应用率更低。

  我以为,正在决议项目质地方面,测试是最厉重的使命:单位测试、集成测试、性能测试、UI测试、职能测试等等,项目具有的测试越众,交付的质地就越好。GO和PHP的单位测试框架都很精美,Go具有嵌入式测试包,而PHP有 PHPUnit,它们都供应了一组富厚的性能,可用于测试你的代码。PHPUnit的性能比GoLang测试包更众,由于PHP的性能更众。这两种器械都能够告终编程言语的使命。然而, 正在举行高级测试时,PHP和Go就会涌现出很大的差异。

  不息发达的模子具有纷乱的需求,而规模驱动的打算能够知足这种需求。为此,你必要很众面向对象的性能,PHP也确凿供应了很众如许的性能:trait、概括格式和类,final格式和类,魔术格式等等。GoLang短缺这些性能,这是一个难以抑制的束缚前提。因而,我以为GoLang仅合用于微效劳或小型行使措施,而PHP合用于全部微效劳、小型、中型甚至大型行使措施。

  然而,跟着行使措施的不息增进,生意逻辑纷乱度加剧的情状下,PHP是很自然的选拔,由于你能够充斥操纵PHP的面向对象性能和社区援救。

  PHP社区的人数远远越过了 GoLang,况且援救异常精美。我发明 GoLang 应用了很众倒霉的东西,比方代码天生器,这都是PHP社区几年前丢弃的东西。

  我花了很长时辰才习气了隐式接口。正在GoLang中,正在完毕全部格式后,类型就会知足接口条件。但正在PHP中,你必要显式地界说类型所需的接口,然后起首完毕。有了Go的这一性能,你不必要提前思虑行使措施的接口,这一点与我对静态类型言语的认知正好相反。