質問

PHPでいくつかのアプリケーションの記述を開始しましたが、この言語に慣れてきました。誰かがCakePHPとCodeIgniterについて教えてくれました。これらがどのように役立つか、そしてフレームワークを学ぶのに時間を費やす価値があるかどうかについて、よりよく理解したかったのです

役に立ちましたか?

解決

MVC PHPフレームワークを使用する利点は何ですか?

PHPフレームワークを使用することには多くの利点があります。それらを使用することの主な利点のいくつかを見てみましょう。

  1. これらのPHPフレームワークはいくつかのデザインパターンに従うため、フレームワークを使用する場合はコーディング規約に従う必要があります。これにより、コードは将来の目的のためにクリーンで拡張可能になります。
  2. CakePHP、CodeIgniter、Zend Framework、Symfonyなどの人気のあるPHPフレームワークは、ビジネスロジックとユーザーインターフェイスを分離するModel View Controller(MVC)デザインパターンに従い、コードをよりクリーンで拡張可能にします。
  3. 誰もが推測できるように、これらのフレームワークには作業を簡単にするための多くのライブラリが含まれています。たとえば、フォームを検証するには、通常のコーディングシナリオで(フレームワークを使用せずに)実行する必要があるほど多くのコードを記述する必要はありません。通常、ライブラリを呼び出すコードの数行で十分です。 li>
  4. チームで大規模なプロジェクトに取り組んでいる間、MVC PHPフレームワークは開発者にモジュールの一部を開発するように開発者を割り当てることができ、これらの開発されたモジュールの統合は非常に簡単になるため、開発に最適なツールになります最終レベル。
  5. これらのMVCフレームワークは、プロジェクトを迅速に開発するのに非常に役立ちます。フレームワークを熟知していれば、プロジェクトの期限を心配することはありません。
  6. これらのMVCフレームワークのほとんどは、明確なURLアプローチを使用して、WebプロジェクトをSEOフレンドリーにします。

記事

他のヒント

私の哲学は、現在持っているニーズを解決するときにのみ何かを使用すべきだということです。

特にこの領域では、フレームワークを単に使用するために、または何かを使用する必要があると思われるために、単にフレームワークを使用する傾向があります。私はそのような慣習を勧めません。また、苦労して物事を成し遂げたときにフレームワークが最も価値があると思うので、あなたが抱えている問題とフレームワークがそのような状況でどのように役立つかをよく理解できます。フレームワークの選択は状況に依存します。

これらはすべて、WebアプリケーションでのMVCパターンは有用であるため、少なくとも1つを学んでも害はありません。ただし、かなり最小限のフレームワークに固執します。 CodeIgniterはここで思い浮かびます。

最後に、フレームワークのもう1つの危険性は、PHPを使用しなくなったり、CakePHP、Symfonyなどを使用しているほどに侵襲的である可能性があることです。これは必ずしも問題ではありませんが、PHPの基礎を十分に身につけられないという危険性があり、変更したい場合、それを行うことができないほど困難になります。

PHPフレームワークの大きな利点の1つは、多くの一般的なWebアプリケーションのニーズにおいて車輪の再発明を最小限に抑えることです。セキュリティの問題、適切な例外処理、RESTful URL、およびサイト全体でのコードの再利用性は、かなり普遍的な考慮事項です。

フレームワークのツールに慣れてから、フレームワークがサポートする完全なMVCシステムを使用するかどうかを確認する方が簡単な場合があります。そのためには、Zend Frameworkに慣れることをお勧めします。 ZFは、特定の用途(セキュリティからLucene検索まで)に個別に実装できるクラスのライブラリとして機能しますが、一緒に使用すると、完全に肉付けされたMVCパラダイムを実装するクラスを含みます。

私は自分のプログラミングの経験を伝えたいだけです。 私はまだ初心者です

  1. 最初にフレームワークを使用すると、コーディングスタイル/ルールに慣れるでしょう。これは、ほとんどのフレームワークがコードの記述方法について深く考えているためです。要するに、私はより良いスタイルとよりクリーンなコードを取得します
  2. 通常、フレームワークには多くの武器(プラグインまたはライブラリ)が付属しており、インターネットで見つけることができます。これにより、コーディング時間が短縮され、無駄な時間が削減されます。要するに、あなたはビジネスプロセスについて考えるあなた自身の貴重な時間を作ることができます
  3. オープンソースフレームワークを使用すると、フレームワークをすでに知っている、おそらくマスターしているプログラマーがいるので、他のプログラマーと簡単にコラボレーションできます。
  4. 実のところ、私は組織化されたプログラマーではありませんが、オープンソースフレームワークを使用する前のことです。おそらく私のように、あなたはより整理されます

これまでのところ、これですべてを共有できます。英語で書くのは苦手です。ごめんなさい。しかし、ポイントは、フレームワークを使用することをお勧めします

ハッピーコーディングフレンド。

時間をかけてPHPフレームワークを学ぶのは間違いなく良い投資だと思います。たとえば、フレームワークの設計の問題に誰かがどのように取り組んでいるか、PHPコードを整理する方法、セッションやデータベースアクセスなどを処理する方法などを説明します。

ほとんどの場合、Webアプリの開発に真剣に取り組んでいるのであれば、独自のフレームワークをゼロから作成するのではなく、何らかのフレームワークを使用する必要があります。

独自のフレームワークを書くべきではない理由:

  1. すでに何度もやり直されているのに、あなたは車輪を再発明しています。
  2. 多くの開発者によってテストされ、反復されているオープンソースフレームワークよりも良い仕事をする可能性は非常に低いです。
  3. アプリケーションの実際の作成に費やす時間よりも、独自のフレームワークの作成とデバッグに時間を費やすことになります。

そうです、いくつかのフレームワークを学び、あなたに最適なフレームワークを見つけてください!

免責事項:私はphpプログラマーではありませんし、phpアプリケーションを作成したこともありません。一方、私は自分のサイトとショッピングカートにたくさんのphp cmssをインストール、カスタマイズ、使用しました。

私の意見では、phpには深刻な問題があります。最大のものは、“フレームワーク”ほぼすべての大規模で成功したプロジェクトでも、外国語のようです。 PHPコードはすぐにスパゲッティサラダになる傾向があります。スパゲッティHTMLとスパゲッティコードとスパゲッティSQLが混在しています。

osCommerceは、これまでで最も成功したショッピングカートの1つですが、ほとんどメンテナンスできません。これは、PHPプロジェクトの大部分にも当てはまります。

プロジェクトにフレームワークを使用する必要があるかどうかにかかわらず、私は「はい」と言います!絶対に!プロジェクトの規模に関係なく、Webフレームワークを使用すると、コードを整理してメインテーブルコードを作成するのに役立ちます。

フレームワークを使用していない場合でも、プログラミングスタイルに影響します。

MVCフレームワークを使用すると、開発がより簡単になります。特にデータベース関連のアプリケーション。それはあなたに非常に明確なフォルダ構造とたくさんのコードライブラリを提供します。 CodeIgniterから始めることをお勧めします。

Frameworksは、同じプロジェクトに取り組んでいる開発者のチームを獲得したときに最適です。 MVCコントローラーは、デザイナーとプログラマーを美しく統合します。ただし、「フレームワークのような」作成要素と「再発明」ホイールはそれほど悪い考えではありません。巨大なプロジェクトに取り組んでいる場合は、コードに慣れて汚くなり、ニーズに合わせてすべてをカスタマイズすることをお勧めします。プロジェクト全体で開発されるため、より強力な製品になります。

次の投稿は、RenderInの投稿に対する回答を書いていたため、すぐに閉じられたスレッドへの応答です: https://stackoverflow.com/questions/3265509/what-are-the-benefits-of-using-a-programming-framework 。スレッドは閉じられており、コメントには彼をここに導くリンクが配置されているので、ここで彼の質問に答えようとします。以下の引用は、私が提出しようとしていたものです:

" Joomla!をお勧めします!あなたとあなたの組織に。私の最後の雇用者で、私はPHPを拾い上げなければなりませんでした(経験がありません)。約1か月半のPHPの手動ハンドコーディングを行った後、Joomla!ユーザーに動画を提供するコンポーネント。また、技術者ではない管理者が動画を分類、編集、削除などできるようにするだけでなく、サムネイルを提供できるバックエンドも作成する必要がありました。

そのための実用的なプロトタイプを入手するには、約2か月かかりました(私はインターンで、週に20〜24時間しか働いていなかったため、PHPの経験が豊富で、 MVC開発方法論では、おそらく私よりもずっと早く作業用のプロトタイプを作成できたでしょう)"

このスレッドのOPに応じて: フレームワークを学ぶために時間を費やすことは間違いなく価値があります(投稿まではここで言及していなかったので、もう一度言います:PHPフレームワークの場合はJoomlaをお勧めします!)。

フレームワーク(Joomla!のようなオープンソースのフレームワーク)を学習する利点の一部:

  • あなたの質問に答えるのを助けることができる人々の巨大なコミュニティ(stackoverflowを除く;笑)
  • すべてのソースコードにアクセスできるため、必要に応じてカスタマイズできます。
  • 機能を強化するための無料の(そして有料の)サードパーティ製プラグインがたくさん。
  • チュートリアルがたくさん。
  • Frameworksは、多くの日常的なタスクを自動的に実行します。

箇条書き4を参照:Joomla!データベース接続管理などの面倒をみて、MySQLデータベースに接続したり、さまざまな種類のデータベース結果を返すために独自のカスタム関数をすべて作成する必要がないようにします(たとえば、最初の最初の結果レコード、レコードのリストなど)、単に彼らに電話をかけます。 Joomla!のAPIは、Webサイト http://api.joomla.org/

とにかく、これがRenderInおよびフレームワーク(特にPHP関連のもの)について疑問に思っている人に役立つことを願っています。

フレームワークは、あなたのために時間を節約したいのではなく、あなたのために時間を節約するための良いツールです。それがいくらなのか知っている。支払う場合は支払います。

既に経験のあるプログラマーであり、フレームワークがおおまかに以下のように機能することを知っている(ちょうどおおまかにではない)タッチまたはフィールを持ち、必要に応じてyaを言う自信がある場合、フレームワークは良いですこのフレームワークを単純化するようなソートを再作成します。フレームワークはあなたにとって特急車であり、フレームワークが準備できていないことや、珍しいことやその他の奇妙なことをしたい場合、苦痛を感じることはありません。

そうしない場合は、単純な古いPHPを使用して問題を解決し、指で言語を演奏するという苦痛を乗り越え、最初に優れたプログラミングの実践とパラダイムとパターンについて学習することをお勧めします。それ以外の場合は、大規模なチームに参加する新卒者の1人になり、彼らの最初のプロジェクトは、非常に強力なフレームワークを使用したプロジェクトに取り組んでいます。優れたプログラマーになることは決してなく、優れたPHPアプリケーションをゼロから構築することもできません。

複雑なフレームワークを使用している組織にいる場合はどうなりますか

上記で触れたことに触れるまで、この場合はPHPの単純な古い問題を解決するために、あなた自身の時間を少し費やしてください。それ以外の場合、プログラミングに自信が持てず、自分に言い聞かせ続けることは決してありません。「これらの手順がそれを行う方法であることがわかっているだけです」。それはプログラミングではありません(少し極端です:))。

複雑なフレームワークと単純なフレームワーク

フレームワークの一部は多くの人に使用されていますが、圧倒的です。レイヤーが多すぎるため、追跡できなくなります。これらのフレームワークは、通常、ステレオタイプであり、多くの構成ファイルに対応します。また、何か異常なことをしたい場合は、フレームワークの作成者になります(ここで少し誇張します:))。ここで名前について言及したくはありませんが、名前に出会ったらそれを知っているでしょう。

CodeIgniterはEllisLabチームの製品であり、その主要製品はCodeIgniterで開発されたExpression Engineです。

CIをしばらく使用した後、Yiiフレームワークを使用する方が便利であることがわかりました。多くの拡張機能があります。優れたドキュメントで理解するのはそれほど難しくありません。

CakePHP、CodeIgniterに近いと思います。

フレームワークを単純なスクリプト以外のものに使用することを強くお勧めします。それは時々やり過ぎに見えるかもしれませんが、そうではないと私は主張します。必要ないと思ったことが何度かありました(シンプルなアプリ、3 dbテーブルの基本的なCRUD)。

しばらくして、mysql_escape_string、XSSフィルタリングなどを手動で実行していることに気付きました。それ以降、セットアップが作業コードよりも多くかかると思う場合にのみ、非フレームワークコードを記述します。それはめったに起こりません。

PHPフレームワークを推奨する必要がある場合、プロジェクトの複雑さに応じてCodeIgniterまたはYii Frameworkを使用する必要があります。

scroll top