回复内容:
别侮辱symfony2!不是一个时代的东西。麻痹,被thinkphp坑死了 老项目真恶心 曾经也面对过这个问题,也曾经尝试在公司推广 Symfony2,我当时的状况跟你们技术总监类似,我对Symfony2与THINKPHP都熟悉,而团队成员都熟悉THINKPHP(不得不说,TP简单,而且推广得太好了,随便找个懂PHP的都可以很快上手),遇到团队的阻力,但不大。
首先,我希望能够改变团队成员对Symfony的误解,所以我快速搭建了一个Demo,包含用户管理、OAuth2 Client、OAuth2 Server、Restful Api、ApiDoc、SonataAdmin后台、FOSCACHE+varnish等(这些是我们业务上需要用到的功能),然后让他们评估用THINKPHP搭建这个功能的工作量。因为都是用开源Bundle来做的,再加上有缓存,功能跟性能上都没问题,搭建速度很快。又演示了Symfony2 CRUD的便捷、功能修改的灵活。这样下来,大部分团队成员都对Symfony抱着浓厚的兴趣。
然后,在团队中进行培训,讲解Symfony的依赖注入、服务容器等具有特色的特性。团队对Symfony的兴趣得到提升。
然而,问题来了。我希望团队成员先自己搭这个Demo来折腾一下,看看Symfony上的文档。团队成员开始遇到各种挫折。
1)Symfony对windows环境不大友好,composer无论是连接国内还是国外的源都很慢;
2)Symfony中文文档极度稀缺,团队成员阅读英文文档吃力;
3)Symfony代码,组件代码太复杂,不好理解。譬如,他们不理解为何就一个ajax请求,需要做这么多工作;定制一个表单,需要写这么多代码;
然后,到了征求大家意见阶段,普遍意见都是不支持转用Symfony,还是喜欢THINKPHP的简单粗暴。
最后,使用了一个折中的方式,框架还是使用THINKPHP,然后引入依赖注入功能,将Symfony上面一些好用的功能以service的方式来实现。譬如:用monolog来代替自带的Log功能,这样可以根据日志的不同级别做不同的记录;配置swiftmailer服务来发送邮件,增加灵活度。
--------------------
Symfony好,但小团队很难招到高水平的Symfony程序员(或者说小团队很难招到高水平的PHP程序员)。 首先我赞同你敢于提出自己观点勇气。
但是:
你要知道,无论任何框架都可以完成你所说的上述功能。
其次,你要明白有时候团队里面做一件事情可能有N种解决方案,但是无论选择哪种解决方案
都需要有一个人来抉择,来负责,他才是负责人,出了问题都是他的,你可以提出你的观点,但你没有权利决定,你可以辞职拒绝,但必须要有那么一个人为团队做出选择,哪怕他的选择是错的,不然这个项目无法进行以及开展。 用drupal吧( •̀∀•́ ) 为什么要用框架呢 你的考虑不无道理,不过快速开发和后期的扩展性需要综合考虑,后期你会发现TP绝非好选择,尤其是自己项目需要长期迭代维护。从你所述,Laravel 5.1 LTS 比较适合,上手也很容易。你可以建议,但最终的决策还是你们头儿说了算。 其实选哪个都没有绝对的对错。但是技术上过于单一是不好的。 Symfony的开发成本较高,维护成本也相对较高。而且就本人经验来说,Symfony框架过于沉重,给服务器负担较高,响应速度太慢,
ZF2,好,但是臃肿。
Laravel目前版本5.0,我个人认为完全可以承担大型项目的需求。用4.*版本开发过三个项目,目前已经在用它开发第4个项目。评价一个字:爽!

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具