TOPPHPチャンネルPHPアプリケーション大集合
PHP 今週の総まとめ
土日でPHPの達人になる!
ThinkITのPHP特集をおさらいしよう

週末から学びはじめるPHP

更新日:2007/6/1
前のページ  1  2

PHPアプリケーション大集合

   「PHPを使ったソリューションにはどのようなものがあるか」を知る第一歩は、実際にPHP上で動作するアプリケーションをチェックすることだ。ソースコードが公開され、自分で動作テストを行えるだけでなく、その隅から隅までみることができるのは、まさにオープンソースソフトウェアならではといえるだろう。

PHPアプリケーション これがPHPアプリだ!!
第1回 定番のCMS
第2回 ブログ一期一会

著者:上鍵 忠志
   第1回ではCMSを、第2回ではblogをそれぞれ取り上げている。紹介するアプリケーションは以下の通りだ。

CMS XOOPS Cube
Drupal
Jaws CMS
ブログ WordPress
Nucleus CMS
Serendipity Weblog
ppBlog

表1:第1回/第2回で取り上げているアプリケーション

PHPによる自社アプリケーション開発はもちろん重要だが、すでにあるアプリケーションや機能を利用するというのは、オープンソースソフトウェアを利用するうえで大きな価値になり得る。最終的には多方面にわたるコスト削減にもつながるだろう。

この点について言及しているのが次の連載だ。


開発コスト削減はPHPで実現できるのか

   「第1回:『PHPのすすめ』をいうときが来た」では、オープンソースソフトウェアを活用するためにPHP技術が必須であることについて解説している。さらに第2回では、システム開発をPHPで行う際のコストと問題点について考察している。

PHPのすすめ PHP開発プロジェクトの夢と現実
第2回:PHPによるシステム開発でコスト削減は実現できるのか

著者:オープンソース・ジャパン  須藤 克彦
   前段として、筆者は以下のように「アムダールの法則」を取り上げ、性能・効率の向上を目指す上で必要な考え方について触れている。

ところで、コンピュータの高速化に関する理論の1つである「アムダールの法則」をご存じでしょうか。簡単にいえば「コンピュータの一部の性能を飛躍的に高めたとしても、それが全体に占める割合が少なければ、全体の性能向上はあまり望めない」というものです。これはITに関わっている方ならば、直感的に納得できると思います。

例えば全体の1割に相当する部分で100倍の性能向上があったとしても、全体では1割弱にしかなりません。全体の大きな部分を占める部分を改善しなければ、あまり意味がないというわけです。ただし、1割の性能向上が無意味だといっているわけではありません。

同じことがシステム開発についてもいえると思います。システム開発は要件定義から設計、開発、テスト、運用開始、さらには保守まで、様々な工程を含んでいます。開発現場を評価する際にプログラムの製造工程がクローズアップされますが、様々な工程とそれを実施するための能力を備えた人々の必要性も理解しておく必要があるでしょう。

   実は従来のシステム開発では、実際の「開発」の部分が2〜3割だったのに対して、現在は半分から7割程度も占めるようになってきているという。これは設計について話し合うといった前段階に時間をかけず(またはまったく設けず)に、開発部隊は開発のみを行う、という状況から生じたものだとのことだ。

   そこで重要になるのが、すでに公開されているオープンソースのアプリケーションを活用する方法だ。

CMSやSNSなどの多くのアプリケーションが、PHPによって書かれており、それ以外のものも数多く存在します。フルスクラッチからの製造ではなく、これらのOSSをカスタマイズするだけであれば、製造コストを半減させることも可能です。

繰り返しになりますが、PHPで書かれたOSSをカスタマイズすることが、これからのWebシステム開発におけるコスト削減の鍵になるといえるでしょう。

   こう述べられているように、より目的に沿ったアプリケーションをみつけ、そこにない機能だけに注力して開発することが、今後のシステム開発の最重要ポイントになることは間違いないだろう。


こうした環境の下地を支えるZend Engine

   これらのアプリケーションや開発環境を支えているのはPHPとZend Engineの存在だ。

Zend Engine PHPの根幹Zend Engine
第2回:モジュールによる高速化と機能拡張

著者:ゼンド・ジャパン  佐藤 栄一
   第2回では、PHP環境をアプリケーションサーバの領域まで拡張するソリューション「Zend Platform」について取り上げ、そこに含まれる以下のようなモジュールについて解説している。

  • パフォーマンスツールによる高速化(Zend Platformモジュール)
  • PHPインテリジェンスによる異常稼動の発見と分析(Zend Platformモジュール)
  • ジョブキュー機能による非同期処理(jobqueue_clientモジュール)
  • Javaプログラムとの効率的な連係(java wrapperモジュール)
  • サーバ間でのセッション情報の共有(mod_cluster wrapperモジュール)

表2:第2回で取り上げているモジュール

   さらに、FastCGIによるWindowsサーバ環境でのPHP高速化と安定化についても紹介している。最後には、PHPの次期バージョンとなるPHP 6.0と、それをサポートする「Zend Engine III」にも触れている。


PHPでアプリケーションを作るために

   サーバや開発環境が整ってきたら、何か目的を持ってアプリケーションの開発に取り掛かるのがPHP習得の近道である。

PHPでアプリケーション PHPでWebアプリケーションを作ろう
第1回:アプリケーションを作るにはPHPのスクリプトが重要

著者:アシアル  松田 惇
   第1回では実際の開発に入る前に必要なPHPの基礎をまとめて学習する。ここではPHPの基本コマンドの記述方法などを学習しながら、最後はデータベースと連携したWebアプリケーション構築の手順を学ぶ連載記事だ。

最初からすべてを覚える必要はありません。自分でプログラムを書きながら徐々に使えるようになっていきましょう

   連載の最初の部分で著者が語っているように、どんな開発言語でも記事を読むだけでは習得することは困難であり、実際に触りながら試していくことも重要だと述べている。

   またプログラムの制作を始めると、エラーの確認や解決に悩む人も多い。そんなときに著者から、こんなアドバイスが書かれている。

エラー情報はプログラムのどこがおかしいのかを伝えてくれています。どうしてもわからなければ、エラー文を丸ごとコピーしてGoogleで検索してみるのもよいでしょう。検索を利用すると解決策が見つかりやすいので、このテクニックはぜひ活用してください。

   どんなに勉強しても、開発の経験が多くても、最初からエラーがまったくないプログラムを作ることはできない。そのときにどのようにして問題を解明し、解決していくのか。対策方法がわかってこそ、達人になれるのである。



今すぐにスタートするPHP

   今回の「総力特集PHP」で紹介・解説してきたものは、今すぐに実行できるものを数多く含んでいる。フル機能を利用できる実行環境、開発環境、そしてアプリケーションまでがダウンロード可能で、今すぐにでも利用できる。

この特集を読んで興味を持たれた方は、ぜひPHPの達人への第一歩を踏み出してもらいたい。


前のページ  1  2

INDEX
週末から学びはじめるPHP
  実際の利用例からPHPを理解する
PHPアプリケーション大集合