ホームページ  >  記事  >  バックエンド開発  >  Yii、laravel、または halcon ではどれが優れていますか?

Yii、laravel、または halcon ではどれが優れていますか?

WBOY
WBOYオリジナル
2016-06-17 08:32:032187ブラウズ

同社は市のウェブサイトを再開発したいと考えています。以前は ecshop を使用していましたが、現在は再開発してフレームワークで記述する必要があります。上記の 3 人はオンラインのコメントを参照し、それが最適であると考えていますが、そうではありません。選び方がわからない。一方で、モールのウェブサイトについては、フレームワークに限定されず、モールのその後の機能を拡張することを主な目的として、より自由にコントロールできるようにしたいと考えていますが、フレームワークとの統合も容易にしたいと考えています。 PHP の初心者です。アドバイスをお願いします

返信内容:

個人的には、次の理由から yii をお勧めします:
  • パフォーマンス: palcon > yii ≈ laravel、palcon は C 言語で開発され、PHP 拡張機能としてロードされるため、フレームワークの追加の解析は必要ありません。必要であり、実行されるため、パフォーマンスは良好です。ただし、フレームワークの制御性も低下します。フレームワーク レベルのバグはトラブルシューティングが難しく、C 言語と PHP 拡張機能の開発を理解していないと修復するのが困難です。
  • コードの読みやすさという点ではlaravelの方が優れています。 (表現力が高く、PHP がわからなくても大体何をしているのか理解できます)
  • しかし、開発速度という点では yii ≥ laravel > palcon です。
  • 学習コストと使用コストから: yii ≥ laravel >
上記に基づくと、yii がわずかに有利であり、yii が推奨されます。 Yii の強力なコンポーネント、豊富なクラスライブラリ、成熟したモデル、便利な gii、さまざまなウィジェットにより、開発速度が数段階向上します
私は数年間 Yii を使用しており、会社のプロジェクトのほとんどは Yii です。
その他のケース: yiichina.com/cases 私は CI/Kohana/Zend/Yii/Qcodo などの多くの PHP フレームワークを使用し、laravel も研究しました。嫌いなものはありませんが、技術的にはそれらを区別するのが面倒で、本質的な違いを形成することができません。 。 Yii は成熟した優れたフレームワークであり、そのアーキテクチャは実際のユースケースに近く、ソースコードも読みやすいです。これは、他のフレームワークがそうではないという意味ではありませんが、単に Yii が優れた機能を備えていることを意味します。

私は結局 Yii キャンプに留まりました。まず第一に、もちろん、このフレームワークが開発とそのアーキテクチャ設計に提供する可能性が気に入っています。

しかし、主な理由は Xue のせいです。 Yii の著者、Qiang Xue | LinkedIn
Qiang Xue は、エンタープライズ ソフトウェア開発の経験が 10 年以上ある、ビジネス インテリジェンスの専門家です。ソフトウェア と Web フレームワークの開発に携わっており、最も人気のある Web フレームワークの 1 つである Yii の創設者であり、何千もの Web アプリケーションを動かしている Qiang は、テスト駆動開発の大ファンであり、実践者でもあります。
は、デューク大学でコンピューター サイエンスの博士号を取得しました。私が主要なテクノロジーやコミュニティに時間を投資するつもりなら、著者とユーザーの文化は重なると思います。

は非常に重要な非技術的要素です。おそらくこれは私の個人的な感情です - ある日、フランス人の同僚が Symfony を高く評価していて、私がさまざまな利点や利点について言及したにもかかわらず、Yii に注目しようとしないことに静かに気づきました。初心者が始めるのにどの程度適しているか (おそらく SF) とアジャイル開発がすべて ppt にまとめられています。

文化は重要です。Yii を使用することで、より思いやりを持つことができます。それは単に私の友人が中国人であるからです。それが人気かどうかは関係ありません。さらに、Yii は非常に人気があり、多くのプロジェクトで使用されており、常に快適です。 参考: フレームワークを選ぶ前に、国内外の中国語と英語の記事をたくさん読みましたが、最終的に Yii ==> Yii2 を選びました。 2011 年に Yii に出会って以来、Yii を使用したいくつかのプロジェクトを実行してきましたが、そのほとんどは BAT での中小規模のスタートアップ プロジェクトでした。最新のものは、電子商取引プロジェクトのアプリケーション層です。全体として、yii は確かにバランスが取れています。
1. 不要なデータを自動化して、データ モデリングを行った後、即座にインターフェイスを完成させることができます。
2. レイアウトおよびその他のビュー レイアウト モードを使用すると、簡単にブロックできます。
3. 柔軟なウィジェットメカニズム、ブロックの再利用も非常に便利です。今回はこれによって電子商取引システムページ上の複雑な広告スペースが実現されました。
4. モジュールを提供すると、複数のチームが同じプロジェクト内のコードを簡単に分割できます。 (操作アクティビティは、別の開発チームによって複数のモジュールで個別に開発されます)
5. URL マネージャーのルールにより、コントローラーを顧客が必要とする URL リンク形式に変換できます (最初に、顧客は xxx /product-111 を必要とします) .html 後で xxx/p/111.html が必要になり、最後に xxx/111.html が必要になります)
6. キャッシュ、セッション、その他のパッケージを使用すると、redis ファイル キャッシュ、データベースなどを簡単に切り替えることができます。
7. 強力なログ システム、さまざまなレベルのログ、トレースの問題に便利
8. 検証部分については人によって異なる意見があるかもしれませんが、初期段階では、適切なモデルと検証のカプセル化により、検証を再利用できます。フロントエンド js 層とバックエンド PHP 層、フォーム送信の検証も最も複雑な部分ですが、比較的簡素化されています
9. テーマ機能により、異なるテーマによる第 1 フェーズと第 2 フェーズの迅速な反復開発が実現します。同時に PC 版とモバイル版も実装されています
10. パフォーマンスに関しては、opcache を使用することで実際には遅くはありません。php7 がサポートされた後でも、パフォーマンスはさらに向上する可能性があります。レベル。もちろん、このような大容量の場合は、任意の技術アーキテクチャを選択できます。

質問があれば、メッセージを残してください。ルールに従っている限り、作成するコードの品質は高くなります。比較的高い。他の 2 つのフレームワークについてはあまり使用しないので、コメントしません。

海外では、Symfony2 はエンタープライズレベルの PHP フレームワークの標準であり、電子商取引企業も基本的に Magento、Sylius などの Symfony2 を使用しています。Laravel と symfony は基本的に同じです。アーキテクチャとコア機能に関しては、どちらが強いということはありません。 しかし、Laravel には 2 つの違いがあります。1 つ目は美しい言語であり、2 つ目はユーザー中心であり、多くのカプセル化があり、多くのベストプラクティスを使用しており、どちらかというとブラックボックスに偏っています。 Apple のスタイルは Apple の携帯電話に似ています。symfony2 は明確で柔軟なアーキテクチャを備えたホワイト ボックスを好みますが、非常に複雑で面倒です~~ 利点は、ホイールを簡単にデバッグできることです。 、Windows のエンタープライズ版に少し似ています。

フレームワーク自体に関する限り、個人的には、現在のすべての「フルスタック」PHP フレームワークの中で Laravel 5.1 が最高だと思います。ここでのキーワードは「フルスタック」です。Laravel 5.1 はほぼすべての Web アプリケーションを処理でき、一部の JS フロントエンド フレームワークと完全に互換性があります。これは、個人の開発者がこのフレームワークを中心に非常に優れたアプリケーションを独自に開発できることを意味します。たとえば、laravel を使用して実装することは、基本的に小規模なトライアルです。

Laravel 5.1 は、優れたスケーラビリティと高度なアーキテクチャにより、フレームワークの特性に基づいて非常に充実した開発戦略を策定することができます。たとえば、Laravel は CLI コマンドを適切にサポートしているため、自動化コードの余地がたくさんあります。

PHP の初心者でもベテランでも、Laravel 5.1 は PHP 分野における Photoshop のようなものなので、躊躇せずに学ぶ価値があります。

これらのフレームワークを使用したことがない場合は、Laravel から始めることを強くお勧めします

個人的にはYiiがオススメ 新しいフレームワークを学ぶことで賃金の上昇につながるのでしょうか?

答えが「いいえ」の場合。そうなると、どんなに優れたフレームワークであっても、あなたにとっては何の意味もありません。説教者が何を言おうと気にしないでください。私はいつも、誰かの優雅さ、効率性、そして個人的な成果に感銘を受けます。私は彼に給料を上げられるかどうか直接尋ねたところです

基本的には市場の価格設定ですべてが説明されます。そんなことを学ぶ時間があったら、彼女ともっと時間を過ごしてみませんか?

類人猿は通常、単純な思考を持っています。さまざまな道で人々に騙されるのは簡単です。みんなももっと警戒したほうがいいよ!

------------------------------------------ ------ -------CIを使用しています。もっと単純であれば、フレームワークは必要ありません。いくつかのコンポーザー パッケージを使用してアセンブルするだけです。 Lara はあまりにも多くのコンポーザー パッケージに依存しています。各コンポーネントを確認するには時間がかかりすぎます。組み込みのものを使用したい場合は Yii を使用してください。これらのフレームワークの命名とさまざまな確立された制約を満たす必要があります。
ただし、プログラム自体は非常に無料です。どの言語も基本的な制約を与えるだけです。具体的な家の建て方。それはすべて個人の好みによって異なります。
フレームワークに慣れるとこんな感じです。これらのものは最終的には必ず削除します

個人的な意見: ほとんどのフレームワークは役に立ちません。初心者はフレームワークを理解していません。なので、フレームワークの威力を実感しています。効率的で便利です。確かに。この学習フレームワークは、初心者が規範を確立し、言語の理解を深めていくのに非常に役立ちます。しかし、千人の心の中には千のハムレットがいるのです!フレームワークがどれほど優れていても、それはフレームワーク作成者が特定の言語を理解しているだけです。あなたの理解は同じではないかもしれません。慣れてくると、徐々に自分なりの理解や理解ができるようになります。 laravel と halcon には、現在人気のあるデザインのアイデアとプログラミングの意識が含まれています
laravel は比較的複雑で強力ですが、composer と組み合わせることで、doctrine や symfony などのフレームワークを実装するためにさまざまなサードパーティのクラス ライブラリの組み合わせを最大限に利用します。シリーズコンポーネント。これは将来の開発トレンドであるはずであり、使用する価値があります。

Phalcon は、拡張機能を使用して PHP フレームワークを実装するためのもう 1 つの開発アイデアです。これは、代替の PHP 拡張機能開発方法である zephir も生み出しました。C 基盤なしでフレームワークを深くカスタマイズしたい場合、それは確かに非常に困難です。これは大きな問題ですが、このフレームワークで問題が発生した場合、初心者は混乱しやすく、問題を特定するのが困難です。

個人的には、Yii には欠点が多すぎるため、良い印象を持っていません。奇妙なディレクトリ構造、特徴のない名前空間ルール (初期学習 Java スタイル)、開発者の動作を制限するルールが多すぎ、コンポーネント定義は使いにくく、ドキュメントは硬直しています。

上記のフレームワークは、初心者にとって比較的敷居が高く、フレームワークを深く学習して理解しなければ、簡単に制御することは困難です。
symfony をお勧めします。強力な機能、初心者にとって敷居が低く、前衛的なデザインアイデアがあり、大規模および中規模のプロジェクト開発に適しており、使いやすいです。 最近ERPをやっている会社で担当者がいなかったので、みんなが良いと言っていたlaravelを選びました。また、laravelで書かれたコードがとてもエレガントで、データベース移行機能がとても便利だったのも魅力でした。チームのコラボレーションと開発。
ルーティング機能は非常に強力ですが、少し面倒であまり簡潔ではありません。
ソース コードを一度読んだだけです。 kenerl のルート配布とミドルウェアを見たところ、大量のクロージャーに混乱したため、内部実装はあまりシンプルで洗練されていません
ORM はあまり使いやすくありません
ドキュメントの翻訳は良くありません。原文も下手だし、学習コストもかなり高い
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。