|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在我开始学习PHP以前,我从未想过要做软件工程,即便是在去听过华育国际的关于软件工程的美好前景后,因为我一直都没有想过要与代码打交道,而是想学好所学专业,做个网络工程师或者是网络安全人员。 </p> 做ROR有一年了, 感到十分好.共同急迅理论(除pair, 因为是和美国工程师近程协作.)开辟速度切实其实快.一共三团体写代码,短短半年, 项目就根基停止了....
如今新项目行将到来, 客户在php和rails之间难以弃取. 我也盘算趁此时机懂得一下php.
因为项目定制性仍是对照高,想经由过程成熟的CMS等体系来改改估量是没戏。
从头开辟又感觉太慢。因而想从开源框架动手。
经由懂得才发明, php新兴的一些框架根基上清一色的进修(或叫剽窃,出格是cakePHP, 那几乎抄得太凶猛了.)rails。并且这些框架还开展的很好,愈来愈遭到php社区的接待。 好比国外cakePHP,国际的Fleaphp, QeePHP等等,就纷歧一罗列了.
昨天用cakePHP做了个复杂的demo, 的确抄rails那是抄的相当直白。 乃至连rake都还有响应的器材取代。除migration和filter我没找到对应的器材。让我一个不懂php的人,都仍是可以很快地上手了.
一方面感慨php抄rails这类完全,另外一方面也感慨这些剽窃之作切实其实也带来了php开辟效力的提拔。固然因为php自己的缘由,框架的引入对功能的影响是对照大的。然而这些框架的呈现大有重整php社区的意思。(最少客户就告知咱们,用rails不如用cakePHP,如许他们也不会引入更多风险。他们还引见他们美国几个团队都又从rails转回cakePHP了.)
我就疑惑儿了,事先还感觉rails就是冲着php的市场去的。。。如今反而感觉rails的思惟解救了php...
人人感觉是应当持续压服客户呢? 仍是就用盗窟rails了呢?
高手robbin的答复:
----------------------------------------------------------------
PHP和Python/Ruby的运转机制有一个实质区分:PHP是每次HTTP恳求过去今后,初始化全体资本(例如创立数据库链接、加载体系类库,创立缓存等等),处置终了,释放全体资本,这不像Python/Ruby之类带有GC的剧本言语,Python/Ruby是初度启动的时分初始化资本,随后的恳求就不用再次初始化资本了。
这类机制的差别带来的区分就是:
1、PHP极难呈现严重的内存泄漏成绩,随意你代码写的多烂,归正每一个恳求一履行终了,一切资本一切释放光。而Python/Ruby则需求依附GC往返收内存,因而稍有失慎,仍是会呈现GC没法释放的内存泄漏成绩。
2、PHP每次恳求都要初始化资本,这个开支十分大。所以虽然PHP解析器自己的运转速度是极快的,然而一旦利用庞杂的PHP框架,那末因为需求每次恳求的时分初始化全部框架,功能的下落十分凶猛,你用一个很庞杂的PHP框架的了局就是全体功能被Ruby远远甩开。这也是为何PHP社区这么多年来,其实不怎样偏向于利用框架的缘由之一。
3、因为PHP这类每恳求初始化资本的机制,也形成了PHP添加跨恳求的初级特征相当坚苦,这是PHP自己一个很大的限制,然而反过去说,恰是这类限制使得PHP一直坚持在一个对照复杂的web言语下面,而恰是这一点才是PHP得以成为互联网第一Web编程言语的缘由,因而也未必就欠好。
总之,PHP和Ruby的差别仍是很大的,不合适放在一同对照,其实应当对照的是Ruby和Python才对。
所以我感觉Rails这类框架性做法被PHP跟风今后,实际上是把PHP带上了正路,所以不如说是Rails在误导PHP的开展。特地多说一句:DHH在编写basecamp之前,一向是用PHP的,而且本人还写了一个PHP的疾速开辟框架,他改用ruby今后,把现在本人写的PHP框架也移植过去了,这个框架实践上是Rails最后的原型。那末为何DHH现在不直接基于PHP做Rails呢?非要改用ruby今后,才宣布rails呢?你看看PHP这类运转机制就晓得了,PHP做庞杂的web开辟框架并非一条光亮的路途。根据功能来进行封装等。很多的不懂,在使用搜索引擎查找,或者请教老师和在老师详细的讲解、指导下,都能顺利解决。 |
|