Laminas Project

Webアプリケーションフレームワークの一つ
Zend Frameworkから転送)

Laminas Project(旧称:Zend Framework / ZF)は、PHPで実装されたオブジェクト指向Webアプリケーションフレームワークおよびフレームワークを構成するコンポーネントを開発するオープンソースプロジェクトの名称。

Laminas
開発元 Laminas Project
Linux Foundation
初版 2019年4月17日 (5年前) (2019-04-17)[1]
リポジトリ https://github.com/laminas
プログラミング
言語
PHP
プラットフォーム クロスプラットフォーム
前身 Zend Framework
サポート状況 開発中
種別 Webアプリケーションフレームワーク
ライセンス 修正BSDライセンス
公式サイト getlaminas.org
テンプレートを表示

前身となるZend Framework時代はZend Technologiesおよび同社を買収したRogue Wave Softwareによって開発が主導されていたが、2020年以降はLaminas ProjectとしてLinux Foundation技術憲章のもとで運営されるコミュニティ主導の開発体制に移行した[2]

歴史 編集

Zend Framework
開発元 Zend Technologies
初版 2006年3月3日 (18年前) (2006-03-03)[3]
最新版
3.0.0 / 2016年6月28日 (7年前) (2016-06-28)
リポジトリ https://github.com/zendframework
プログラミング
言語
PHP
プラットフォーム クロスプラットフォーム
サポート状況 終了
種別 Webアプリケーションフレームワーク
ライセンス 修正BSDライセンス
公式サイト framework.zend.com
テンプレートを表示

Ruby on RailsSpring FrameworkWeb開発で広まりつつあった2005年初め、Zend Frameworkが構想され始めた。

2005年10月、第1回のZend ConferenceでZend Frameworkが発表された[4]

Zend Framework 編集

2007年7月1日、Zend Framework 1.0がリリースされた[5]

2012年9月6日、Zend Framework 2.0がリリースされた[6]

Zend Framework 2.5以降はzendframework/zendframeworkはComposerのメタパッケージ化され、zend-mvcを中核としたコンポーネント群として分割・再編された。分割後に導入されたフレームワークコンポーネントはメタパッケージには追加されない。

2016年6月28日、Zend Framework 3.0がリリースされた。zendframework/zendframeworkメタパッケージのバージョンは3.0.0で固定されているが、セマンティックバージョニングに従って互換性のある最新版がインストールされるように依存関係が指定されている。

Laminas 編集

2019年4月17日、Zend Technologiesの経営体制の変化に伴ってZend FrameworkはLaminas Projectと改名された上でLinux Foundationによってホストされるオープンソースプロジェクトになることが発表された[1]

2020年3月24日にLaminas Projectは正式にLinux Foundation傘下に移管された[7]

Laminas Projectの製品は、かつてのZend Frameworkの後継となる「Laminas MVC」(旧称:zend-mvc)、PHP標準勧告英語: PHP Standard Recommendation準拠の軽量フレームワーク「Mezzio」(旧称:zend-expressive)、RESTful API作成ツール「Laminas API Tools」(旧称:Apigility by Zend Framework)、これらを支えるライブラリとしての「Laminas Components」(旧称:Zend Framework Components)としてすべてのクラス名および名前空間を整理した上で再編された[2][8]。Zend FrameworkからLaminasへの移行支援のためにマイグレーションツールが提供されている[9]

哲学 編集

ZFは使い方が自由なフレームワークである。Zend Frameworkの全ユーザーが従うべき開発パラダイムや開発パターンというものは存在せず、MVCTable Data GatewayRow Data Gateway といったデザインパターンのためのコンポーネントを提供している。Zend Frameworkは他にもウェブアプリケーション開発で必要となる多数のコンポーネントを提供する[10]

Zend Frameworkはまた、PHPコミュニティにおけるWeb開発のベストプラクティスを広める努力をしている。他のフレームワークほど規約を使わず、むしろ妥当なデフォルトを設定しておき、各アプリケーションの必要に応じてそれを上書きするという方法を提案している[11]

ライセンス 編集

Zend Frameworkは、Open Source Initiative(OSI) の承認した修正BSDライセンスで提供されており、コード提供者はApacheソフトウェア財団Contributor License Agreement (CLA) をベースにしたCLAに署名しなければならない。ゼンド・テクノロジーズアンディ・ガトマンズによれば、このようなライセンス方式を採用しているのは、ZFの商用利用で知的財産権問題を起こさないためだという[12]

スポンサーとパートナー 編集

Zend Framework の企業スポンサーは、PHP中核部を開発したアンディ・ガトマンズゼーブ・スラスキーの創業したゼンド・テクノロジーズである[13]。技術パートナーとしては、IBM[14]Google[15]マイクロソフト[16]アドビシステムズ[17]、StrikeIron[18] などがある。

要求されるもの 編集

1.7.0以降のZend Frameworkは、PHP 5.2.4かそれ以降を必要とする。それ以前のバージョンではPHP 5.1.4かそれ以降を必要としていたが、マニュアルではPHP 5.2.3かそれ以降を強く推奨していた(セキュリティと性能が強化されているため)。Zend Frameworkに含まれている単体テスト群を実行するには、PHPUnit 3.0かそれ以降を必要とする。多くのコンポーネントはPHP拡張部も必要とする[19]

機能・特徴 編集

Zend Framework の特徴・機能には以下のものが含まれる[11]

  • 全コンポーネントは完全オブジェクト指向のPHP 5であり、E_STRICT準拠である。
  • 自由に使える (use-at-will) アーキテクチャで、結合度の弱いコンポーネント群からなり、その依存関係は最小限に抑えられている。
  • 拡張可能なMVC実装で、デフォルトでレイアウトとPHPベースのテンプレートをサポートしている。
  • 各種データベースをサポート。MySQLOracleIBM DB2Microsoft SQL ServerPostgreSQLSQLiteInformix Dynamic Server など。
  • mboxMaildirPOP3IMAP4による電子メールの作成・送信・受信
  • 各種バックエンドをサポートする柔軟なキャッシュシステム

コード・文書・テストの標準 編集

Zend Frameworkにコードを提供する場合、コード、文書、テストの厳しい標準を守らなければならない。全てのコードはZFのコーディング標準に適合する必要があり、リリースブランチにコードを移行させる前にコード網羅率80%以上の単体テストにパスする必要がある[20]

関連項目 編集

脚注・出典 編集

  1. ^ a b From Zend to Laminas” (2019年4月17日). 2022年2月2日閲覧。
  2. ^ a b Endings and Beginnings: Goodbye, and Please Welcome the Laminas Project!” (2020年1月24日). 2022年2月2日閲覧。
  3. ^ Archives” (英語). Zend Framework. 2014年2月24日閲覧。
  4. ^ Morgan, Oonagh (2005年10月19日). “Zend Announces Industry-wide PHP Collaboration Project at its Inaugural PHP Conference”. Zend Technologies. 2008年7月14日閲覧。
  5. ^ Gutmans, Andi (2007年7月1日). “Zend Framework 1.0 Released!”. Andi on Web & IT. 2008年7月14日閲覧。
  6. ^ 米Zend、PHPアプリフレームワーク「Zend Framework 2.0」をリリース”. 2013年5月29日閲覧。
  7. ^ Laminas Officially Joins the Linux Foundation” (2020年4月22日). 2022年2月2日閲覧。
  8. ^ Transferring Zend Framework to Laminas: A Retrospective.” (2020年3月9日). 2022年2月2日閲覧。
  9. ^ Migrate to Laminas”. 2022年2月10日閲覧。
  10. ^ Introduction to Zend Framework”. ZF Programmer's Reference Guide. 2009年2月12日閲覧。
  11. ^ a b About Zend Framework”. 2009年2月11日閲覧。
  12. ^ Gutmans, Andi (2005年10月27日). “Zend Framework (post is too long so make sure to grab coffee)”. Andi on Web & IT. 2009年2月11日閲覧。
  13. ^ History of PHP and related projects”. The PHP Group. 2009年2月11日閲覧。
  14. ^ LaMonica, Martin (2005年2月25日). “IBM backs open-source Web software”. cnet.com. http://news.cnet.com/IBM-backs-open-source-Web-software/2100-7344_3-5589559.html?tag=nw.14 2009年2月11日閲覧。 
  15. ^ Kernel, Sean (2006年12月20日). “Google Data Joins PHP Zend Framework”. internetnews.com. 2009年2月11日閲覧。
  16. ^ Krill, Paul (2006年10月31日). “Microsoft, Zend boost PHP for Windows”. infoworld.com. 2009年2月11日閲覧。
  17. ^ Potter, Mike (2008年7月31日). “Adobe Contributing AMF Support to Zend Framework”. The Official Flex Team Blog. 2009年2月11日閲覧。
  18. ^ StrikeIron Featured Partners”. 2009年2月11日閲覧。
  19. ^ Zend Framework Requirements”. ZF Programmer's Reference Guide. 2009年2月12日閲覧。
  20. ^ Zend Framework Contributor Guide” (2006年7月1日). 2008年7月14日閲覧。

外部リンク 編集