Laminas Projectについて
Laminas Projectは、PHPで構築された
オブジェクト指向の
Webアプリケーションフレームワーク及びその関連コンポーネントを開発するオープンソースプロジェクトです。かつてはZend Framework、またはZFと呼ばれていましたが、2020年に
Linux Foundationの傘下に移転され、新たにLaminas Projectとして活動を開始しました。これはコミュニティ主導の開発体制による運営となっています。
歴史的背景
Laminas Projectの起源は、
Ruby on Railsや
Spring Frameworkが注目されていた2005年初頭に遡ります。この時期に、Magentoなどの人気フレームワークと同様に、Zend Frameworkの構想が始まりました。2005年10月には第1回Zend Conferenceで公式に発表され、その後2007年7月1日にZend Framework 1.0がリリースされました。
Zend Frameworkはその後、2012年9月6日に2.0をリリースし、さらに2016年6月28日には3.0が登場しました。その際にはzendframework/zendframeworkが
Composerのメタパッケージに変わり、zend-mvcを中心とするコンポーネント群に再編されました。これにより、開発者は必要なコンポーネントを必要に応じて選択できます。
Laminasへの移行
2019年4月には、経営体制の変化に伴いZend FrameworkがLaminas Projectに改名されるとともに、
Linux Foundationにホストされることが発表されました。2020年3月には正式に移管され、旧Zend Frameworkの後継となるコンポーネントがLaminas MVC、Mezzio、Laminas API Toolsなどとしてリリースされました。また、Laminas Componentsは全クラス名と
名前空間が再編成され、移行支援のためのマイグレーションツールも用意されました。
開発哲学
Laminasは開発者が自由に使用できるフレームワークであり、特定の開発パラダイムやパターンに従わずに、MVCや他のデザインパターンのためのコンポーネントを提供します。また、PHPコミュニティにおけるWeb開発の
ベストプラクティスを広めることにも力を入れています。規約よりも合理的なデフォルト設定を提案し、各アプリケーションのニーズに応じて上書き可能です。
Laminas Projectは、
Open Source Initiativeに承認された修正
BSDライセンスの下で提供されています。コードの提供者は、Apache Software FoundationのContributor License Agreementに基づいた契約に署名する必要があります。この
ライセンス方式は、商用利用における知的財産権問題の回避を目的としています。
企業スポンサーとパートナー
Laminas Projectのスポンサーとしては、PHPの中核部分を開発したZend Technologiesがあり、技術パートナーには
IBM、
Google、
マイクロソフト、アドビシステムズなどが名を連ねています。
システム要件
Laminas Projectは、PHPの特定バージョン以上が必要です。特に、1.7.0以降ではPHP 5.2.4以降の環境を想定しています。そのほか、
単体テストを実行するためにはPHPUnitも必要です。
機能と特徴
Laminasのコンポーネントは、完全に
オブジェクト指向で構築されており、特に以下の機能が特徴です:
- - 自由に利用できるアーキテクチャ(use-at-will)
- - 拡張性のあるMVCの実装
- - 複数のデータベースに対応(MySQL、PostgreSQLなど)
- - 電子メールの作成や受信が可能
- - 柔軟なキャッシュシステムを持つ
Laminasに取り組む場合、提供するコードはすべてコーディング標準を遵守し、リリース前にコードの網羅率80%以上の
単体テストに合格する必要があります。
まとめ
Laminas Projectは、Webアプリケーション開発を支援するために、多彩な機能と堅牢なフレームワークを提供します。豊富なコンポーネントと柔軟な設計思想により、様々なニーズに応じた開発が可能です。