私はPHPを使ったwebサイト開発を仕事としているのですが、他の開発会社さんの作ったシステムを見ることが多々あります。
そんなシステムでは、大抵僕のエネルギー&ストレスが浪費されるパターンに陥ります。
最近PHPでフレームワークという巨大なアホシステム(パソコンでいえばWindowsXPなどのOSにあたるもの)を利用する開発会社が増えています。こんなのを使っている会社を使ってしまうと、「トップページの文言ちょっと変更してください」などとお願いしてもなかなか変更できないor変更のたびに料金を取られる、などという状況に落ちいる可能性大です。
そもそもWebサイトなんて大したことないプログラムの集まりです。(自動車や電子機器の制御プログラムなどに比べて)またPHPはPersonalHomepageProgram(最近はHiperText Preprocessorというらしい)というほど、誰でも書けることを目的としたプログラムなのです。
フレームワークというアホシステムが発生する前の「アホ開発会社」は自分たちの社内のエンジニア(こいつがこの会社を支えているとか言われてる場合が多い)の作ったプログラムを各ページ毎にコピー&ちょい修正で各ページ毎に用意したりしていました。最近このフレームワークが出てくると、これらのエンジニアが雑誌/webで見かけてたor外から入ってきたオタクがこれらを導入してこれをベースとしてでアホプログラムを変容させてきたと思われます。
以前はこのような人間の作った大量のプログラムをスッキリさせるのが改版時の僕の主な仕事だったのですが、最近ではそのフレームワークを理解する作業から始まるのでより時間がかかる状況になっています。(いずれの場合も自分で作り直すのですが、、)
一般的にwebサイトにおけるシステムの役割としては、mysql/postgresなどのDB(またはファイル)に格納された表示用データをデザインされたページに貼り付けて表示するということだと思います。あとデータ更新を行うための管理用機能、購入や申込などのデータ登録機能くらい。こんな程度であれば、PHPの場合、表示用にはSmartyというテンプレートライブラリを派生させたオリジナルライブラリとデータ用にはDB周りのクラスライブラリの2つと、各ページ用のテンプレートファイルとCGI用のプログラムファイル数ファイルで実現できます。シンプルで他の人が見ても簡単に理解できるシステム&高速というのが良いサイトの条件だと思います。
※アホフレームワーク:cakePHP, symfony
フレームワーク自体はアホでないかもしれませんが、それを使って企業サイトを作る行為がアホということです。例えば、これらのフレームワークにセキュリティ上の問題があった場合、フレームワーク内部の修正の必要性があった場合などを考えるとこんなものを使ってはダメです。また、不要な機能がたくさん付いているので速度的にも遅くなるのは当然です。(キャッシュを使って早いっていったって、それ用のライブラリを単独で利用した方が絶対早いです)
「フレームワークを使っている会社=開発能力が低いor遊び感覚で仕事をしている」
で間違いありません。
アホ開発会社につかまって頭を悩ませている企業ご担当者様!!あなたのお悩み解決しますよ~