Learning PHP 5
Learning PHP 5
posted with amazlet at 05.04.26
David Sklar
Oreilly & Associates Inc (2004/08/15)
売り上げランキング: 100,483
通常8~10日以内に発送

いわゆる入門PHP5。
5から始める人には良い感じです。PHP冷遇気味のオライリー + PHP5本全体が売れてないということもあって日本語版出るか微妙なので買っちゃうのもアリかと。

kunitの日記

osCommerceですが、やっぱり・・・という感じでしたね。以前このブログでもかきましたが、拡張性とか考えてるとは思えないつくりなんですよね。ちょっとひどすぎる感じがする。ワイズノットさんでosCommerceにかわるもっときれいなプロダクトをつくられてしまってはどうでしょう?ECサイトのノウハウをもたれているし、ニーズもわかられてると思うので、もっといいプロダクトをつくられちゃったほうがいい感じがします。(と無責任にいってみたり。実際、ECサイトベースの仕事がメインだったら作っちゃってたかもしれません。何でも自分でつくりたがるのが悪い癖・・・)

うは、岩崎さんが関西でosCommerceのセミナーを・・・ってPHP関西 第4回のことだったのかよ!

俺自身osCommerceそれほど触ってないんですが、

・本家コミュニティの開発は遅い。
(MLで「テンプレ分離したバージョンを一人で作ってみたら2日でできたがお前ら何してんだ」という発言が)
・日本語版2.2MS1は古くて問題もあるがそれぞれに対応するパッチが結構出ている。
・本家からブランチするとosCommerce最大の利点(知名度)が失われる。

機能拡張したらコミュニティに還元してどんどん良くしていくっていうのが一番良いと思いますが、日本で主流の2.2MS1だと”“支払い”“や”“配送”“に関する以外の部分はモジュール化されてないので結局でっかいパッチっていう形になってしまいます。
MS2では大分改善される予定のようです。

Midgard Project – TownPortal – Free Community Portal application (in TownPortal)

tplogo.png

This project aims to produce a free portal system for villages and other local communities.

Midgardをベースにした町とか小さなコミュニティのポータルに特化したCMSだそうです。

Midgard自体はPHPベースのCMS Frameworkでイメージ的にはXoopsよりZopeでしょうか。

tp.jpg

Annotations in PHP Sebastian Bergmann

I could not resist and started working on a package that exends the Reflection API of PHP 5 by adding getAnnotations(), getAnnotation($name), and hasAnnotation($name) methods to ReflectionClass, ReflectionFunction, ReflectionMethod, and ReflectionProperty.

PHPにアノテーション機能追加しようというお話。

Sebastianさんはどうやら「PHP自体じゃなくてReflection API使ってPHPのクラスとして実装した方が良いんじゃないか」派。

とりあえず作り始めたコードが載ってますが、肝心のコメントをパースする部分はまだだそうです。
そこどうやるのかが一番気になるんだけども。

・追記
と思ったらすでにPEPr Proposalにあがってました。こんなにサラッと出しちゃうもんなんですねコレ・・・。

Proposal for ””Annotation”“

phpOpenTracker

Features

  • Complete framework for the analysis of website traffic and visitor analysis.
  • Highly optimized logging engine that stores the access information into a database.
  • Powerful interface to access the gathered data and perform operations on it: from simple statistical queries to the complex analysis of the visitors’ clickpaths.
  • Can be used to track both dynamic and static pages.
  • Can be invoked directly from within PHP applications, for instance by a Content Management System, or through a HTML image tag—a so called Web Bug.
  • One installation of phpOpenTracker may track an arbitrary number of different web sites.

サイトのトラフィック解析とユーザ追跡フレームワークphpOpenTracker。

静的コンテンツにはimgタグを埋め込んで、PHPアプリからも直接APIが叩けるようです。
ソースが何かの参考になりそう。

PECL :: Package :: DBDO

DBDO performs 2 tasks:
1. Builds SQL statements based on the objects vars and the builder methods.
2. acts as a datastore for a table row. (ORM)

PEARじゃないですが、個人的に死ぬほど注目しているDB_DataObjectのPECL版であるDBDOがリリース!

サイトにもザッと機能が書いてありますが、DataObjectまんまです。ソースがかなり短いのでDB抽象レイヤーにはPDOがそのまま使われてるのかなと思って軽く見たらlibgdaというのが使われてるらしいです。

GNOME-DB consists of the following components:

mergeant: Front-end for database administrators and database application developers.
libgnomedb: Database Widget Library. These widgets are integrated with the latest versions of glade.
* libgda: data abstraction layer. It can manage data stored in databases or XML files and it can be used by non-GNOME applications.

libgdaはGNOME-DB Projectの産物でDBに限らず、XMLファイルなどのデータを抽象化したライブラリのようです。

PHP5 onlyなのが悲しいですがDBDOとにかく注目してます。

イスラエルのZend,PHPアプリ向け統合プラットフォーム「Zend Platform 1.1」を発表 : IT Pro US News Flash

Zend Platform 1.1の主な特徴は以下の通り。

・PHP Intelligence:PHPアプリケーションの稼働において,パフォーマンス,スクリプト,動作エラーやデータベースのトラブルなど,各種のランタイム変更を検出しする

・PHP Performance Management:アプリケーションの実行を合理化し,性能を向上する

・PHP Configuration Control:サーバーのPHP設定管理機能を強化し,一貫した正確さと同期性を確保する

・PHP/Java Interoperability:すべてのJavaコールに単一のJava仮想マシン(JVM)を使用する。リソースの浪費を避けることで,PHPとJavaの相互操作性を図る

先日行われたZend Platform内覧会の発表資料を見せてもらいました。 Zend Platformはサーバにインストールして、PHP(入りのWebサーバ)を統一管理・監視したりするものらしいです。
へぇと思ったのが、Javaとの連携でノーマルのPHPではJavaを呼ぶ度にJVMを立ち上げてるのをZend Platformを使うことで一個のJVMで全て処理できるという特徴。
そもそも(Java連携機能が)ノーマルでは使えたもんじゃないですな。

UnknownPlace. – PHP での XML-RPC

そんなわけで他をあたろうといろいろライブラリ探してたみたら、Incutio XML-RPC Library for PHP というのがなかなかヨサゲ。

RESTマンセだがチェック。
PEAR XML_RPCはどうなのかな。

PEAR.phar now works in PHP 4.3.0 and newer! – Lot 49 – Greg Beaver’s blog

PEAR.phar works in my tests with PHP 4.3.6 on windows, PHP 4.3.10 on linux, PHP 5.0.4 on windows, and PHP 5.0.4 on linux.

PHP_Archiveの便利さの分かり易い例としてGregが1ファイルでpearコマンドが使えるPEAR.pharを作ったようです。これがあればphpさえ入ってればいきなりpearコマンドが使える!

この間リリースしてたんですが、PHP 4系で動かなかったので「エラー出る」とコメントしたら動くようにしてくれたようです。

C:\WINDOWS\Temp>php PEAR.phar list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE        VERSION STATE
Archive_Tar    1.3.1   stable
Console_Getopt 1.2     stable
DB             1.7.6   stable
DB_DataObject  1.7.13  stable
Date           1.4.3   stable
File           1.2.0   stable
Log            1.8.7   stable
Mail           1.1.4   stable
Net_SMTP       1.2.6   stable
Net_Socket     1.0.6   stable
Net_URL        1.0.14  stable
PEAR           1.3.5   stable
PHPUnit        1.2.2   stable
Pager          2.2.7   stable
PhpDocumentor  1.2.3   stable
Var_Dump       1.0.2   stable
XML_Parser     1.2.6   stable
XML_RPC        1.2.2   stable
XML_RSS        0.9.2   stable
XML_Tree       1.1     stable

ref: PEAR PHP_Archive

BMediaNode: CMSはJavaよりPHPで

# 成長を続けるコミュニティ&ユーザーベース(Evolved)
# PHP未経験者でも15分もあればサイト立ち上げが可能(Ease of Use)
# J2EEアプリケーションをデプロイ可能なホスティング業者は少ない(Hosting)
# いくつかのJava製CMSはPHP製のものの10倍は大きくて複雑(Sleek)
# Javaを取り巻くコミュニティは大きなポイントだがPHPコミュニティも大規模になっている(Community)
# PHPの安定性やOOP機能はJavaに劣るかもしれないが大部分のWebサイト作者にとってはシンプルで機能豊富で容易に運用・管理ができることのほうが重要(Non Issues)

CMSはJavaよりPHP製。JavaネタのサイトもPHPを選択という話。

良い感じでまとまってます。仕事で引用しよう。
確かにPHPウェブアプリはインストールが簡単なのが多いぽい。PHP_Archiveでもっと簡単になるかもしれない!

ref: PEAR PHP_Archive