目次
回复内容:
ホームページ バックエンド開発 PHPチュートリアル PHP团队选择框架thinkphp和symfony2,我和技术总监分歧,请给予中肯意见? 谢谢

PHP团队选择框架thinkphp和symfony2,我和技术总监分歧,请给予中肯意见? 谢谢

Jun 06, 2016 pm 04:45 PM

回复内容:

别侮辱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个项目。评价一个字:爽!
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

ストレージを使用してLaravelでファイルのダウンロードを発見してください::ダウンロード ストレージを使用してLaravelでファイルのダウンロードを発見してください::ダウンロード Mar 06, 2025 am 02:22 AM

ストレージ:: Laravelフレームワークのダウンロード方法は、ファイルストレージの抽象化を管理しながら、ファイルのダウンロードを安全に処理するための簡潔なAPIを提供します。 サンプルコントローラーでストレージ::ダウンロード()を使用する例は次のとおりです。

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHPロギング:PHPログ分析のベストプラクティス PHPロギング:PHPログ分析のベストプラクティス Mar 10, 2025 pm 02:32 PM

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelサービスプロバイダーを登録および使用する方法 Laravelサービスプロバイダーを登録および使用する方法 Mar 07, 2025 am 01:18 AM

Laravelのサービスコンテナとサービスプロバイダーは、そのアーキテクチャの基本です。 この記事では、サービスコンテナ、詳細サービスプロバイダーの作成、登録、および実用的な使用法を例で説明します。 Oveから始めます

See all articles