| 開発者 | ラミナスプロジェクト |
|---|---|
| リポジトリ | ラミナスリポジトリ
メッツィオリポジトリ Laminas API ツール リポジトリ |
| 書かれた | PHP の |
| オペレーティング·システム | クロスプラットフォーム |
| ライセンス | 新しいBSDライセンス |
| Webサイト | ゲットラミナス |
| 開発者 | ゼンドテクノロジーズ |
|---|---|
| 初回リリース | 2006年3月3日[1] |
| 最終リリース | 3.0.0 [2]
/ 2016年6月28日 |
| リポジトリ | Zend リポジトリ |
| 書かれた | PHP7 の場合 |
| オペレーティング·システム | クロスプラットフォーム |
| ライセンス | 新しいBSDライセンス |
| Webサイト | フレームワーク |
Laminas プロジェクト(旧称Zend FrameworkまたはZF ) は、オープンソースのオブジェクト指向 Web アプリケーション フレームワークで、 PHP 7で実装され、New BSD Licenseの下でライセンスされています。[3]このフレームワークは基本的に、プロフェッショナルなPHP [4]ベースのパッケージのコレクションです。[5]このフレームワークは、パッケージ依存関係マネージャーの一部として Composer を使用して、さまざまなパッケージを使用します。その中には、すべてのパッケージをテストするためのPHPUnit や、継続的インテグレーション サービスの Travis CI などがあります。 Laminas は、フロント コントローラー ソリューションと組み合わせたモデル - ビュー - コントローラー(MVC)のサポートをユーザーに提供します。 [6] Laminas の MVC 実装には、5 つの主要な領域があります。ルーターとディスパッチャーは、 URLからのデータに基づいてどのコントローラーを実行するかを決定します。コントローラーは、モデルとビューと組み合わせて、最終的な Web ページを開発および作成します。[5]
2019年4月17日に、このフレームワークがLinux Foundationが主催するオープンソースプロジェクトに移行し、Laminasとして知られるようになる ことが発表されました[7] 。
ライセンス
Laminasは、オープンソース・イニシアティブ(OSI)承認のNew BSD Licenseに基づいてライセンスされています。すべての新しい貢献には、開発者証明書の確認書を添付する必要があります。[8]
Zend Framework も New BSD License に基づいてライセンスされています。ZF1 では、すべてのコード貢献者はApache Software Foundationの CLA (貢献者ライセンス契約) に基づく CLAに署名する必要がありました。Zend の Andi Gutmans によると、ライセンスと貢献のポリシーは、商用ZF ユーザーの知的財産問題を防ぐために制定されました。[9] ZF2 以降は CLA フリーです。[10]
コンポーネントとバージョン管理
Laminas プロジェクトはセマンティック バージョニングに従います。フレームワーク コンポーネントは個別にバージョン管理され、個別のComposerパッケージとしてリリースされます。フレームワーク コンポーネント間の依存関係は、セマンティック バージョニング範囲を使用して Composer 依存関係として宣言されます。
Zend Frameworkバージョン2.5より前は、すべてのコンポーネントが同じバージョンを共有していました。Zend Frameworkバージョン2.5以降、コンポーネントは独立したバージョン管理されたパッケージに分割され、zendframework/zendframeworkはComposerメタパッケージに変換されました。[11] 分割後に導入されたフレームワークコンポーネントはバージョン1.0から開始され、既存のコンポーネントは2.5から継続されました。新しいコンポーネントはメタパッケージに追加されず、メタパッケージ自体は3.0.0リリース後に廃止されました。
Zend Framework 3は、フレームワーク全体のバージョン管理が廃止される前の最後のリリースでした。[12] Zend Framework 3では、個々のコンポーネントのメジャーバージョンがフレームワークのバージョンと一致しなくなり、混乱が生じました。zend-mvcやzend-servicemanagerなどの一部のコンポーネントは、一致するメジャーバージョンのリリースを受け取りましたが、他のコンポーネントはバージョン2のままでした。一方、新しく導入されたzend-diactoros、zend-stratigility、zend-expressiveはメジャーバージョン1でした。
Laminas プロジェクトには単一のフレームワーク バージョンはありません。Zend Framework から移行されたコンポーネントは既存のバージョンを継続し、過去のリリースはすべて対応するバージョンから移行されました。zendframework/zendframework メタ パッケージには、Laminas に対応するバージョンはありません。
ラミナには以下の成分が含まれています: [13]
インストール
公式にサポートされているインストール方法は、 Composerパッケージ マネージャー経由です。
Laminas は 61 個のコンポーネントを含むメタパッケージを提供しますが、必要なフレームワーク コンポーネントを個別にインストールすることをお勧めします。Composer は追加の依存関係をすべて解決してインストールします。
たとえば、MVC パッケージが必要な場合は、次のコマンドでインストールできます。
$コンポーザーにはlaminas/laminas-mvc
が必要です コンポーネントの完全なリストはLaminas Frameworkのドキュメントに記載されています。[13]
フレームワークの解剖
Laminas は、設定を優先するアプローチを採用しており、特定のアプリケーション構造を強制しません。zend-mvc および zend-expressive 用のスケルトン アプリケーションが用意されており、アプリケーションの実行に必要なすべてのものが提供され、適切な出発点として機能します。
スポンサーとパートナー
PHPコア貢献者のAndi GutmansとZeev Suraskiによって共同設立されたZend Technologiesは、Zend Frameworkの最初の企業スポンサーでした。[14]技術パートナーには、IBM、[15]、 Google、[16]、 Microsoft、[17]、 Adobe Systems、[18]、StrikeIronなどがあります。[19]
特徴
ラミナの特徴は次のとおりです: [20]
- すべてのコンポーネントは完全にオブジェクト指向のPHP 5であり、E_STRICTに準拠しているため、バグやクラッシュのないアプリケーション方法でテストを構築し、コードを記述する開発に役立ちます。 [21]
- 疎結合コンポーネントと最小限の相互依存性を備えた、自由に使用できるアーキテクチャ
- レイアウトとPHPベースのテンプレートをデフォルトでサポートする拡張可能なMVC実装
- MariaDB、MySQL、Oracle、IBM Db2、Microsoft SQL Server、PostgreSQL、SQLite、Informix Dynamic Serverなど、複数のデータベース システムとベンダーをサポート
- メールの作成と配信、mbox、Maildir、POP3、IMAP4経由の取得
- メモリやファイルシステムなど、多くの種類のバックエンドをサポートする柔軟なキャッシュサブシステム。
- Zend Apigilityは、リモートプロシージャコール(RPC)とREST(表現状態転送)サービスの助けを借りて、開発者がAPIの作成、 APIの認証、APIのドキュメント化、簡単な変更を行うのに役立ちます[22]
アプリケーションの開発
Laminas アプリケーションは、技術的要件を満たす任意の PHP スタック上で実行できます。Zend Technologies は、Laminas アプリケーションの実行に最適化されていると宣伝されているPHP スタックZend Server (または Zend Server Community Edition) を提供しています。Zend Server のインストーラーには、 PHPおよび必要なすべての拡張機能とともに Zend Framework が含まれています。Zend Technologies によると、Zend Server は、オペコード アクセラレーションといくつかのキャッシュ機能によって PHP、特に Zend Framework アプリケーションのパフォーマンスを向上させ、アプリケーションの監視および診断機能も備えています。 [23] Zend Studioは、Zend Framework と統合するための機能を備えた IDE です。MVC ビュー、Zend_Tool (Zend Framework のコンポーネント) に基づく MVC コード生成、コード フォーマッタ、コード補完、パラメータ アシストなどを提供します。[24] Zend Studio はフリー ソフトウェアではありませんが、Zend Framework と Zend Server Community Edition はフリーです。Zend Server は、 Xdebugなどの一般的なデバッグ ツールと互換性があります。他の開発者は、別の PHP スタックや、Zend Server と連携して動作するEclipse PDTなどの別の IDE を使用する必要があるかもしれません。Zend Debug を備えた事前構成済みのEclipse PDTの無料バージョンは、Zend Web サイトで入手できます。
コード、ドキュメント、テスト標準
Laminasへのコード貢献は、厳格なコード、ドキュメント、テスト標準に従う必要があります。すべてのコードはプロジェクトのコーディング標準を満たし、ユニットテストが80%のコードカバレッジに達してから、対応するコードをリリースブランチに移動する必要があります。[25]
シンプルなクラウドAPI
2009年9月22日、Zend Technologiesは、 Microsoft、IBM、Rackspace、Nirvanix、GoGrid などの技術パートナーやZend Frameworkコミュニティと協力して、クラウドアプリケーションサービスへの共通APIであるSimple Cloud APIを開発すると発表しました[26] 。このプロジェクトはZend Frameworkの一部であり、Zend FrameworkのWebサイトでホストされますが[27]、最新バージョンのAPIについて議論したりダウンロードしたりするために、 simplecloud.org [28]という別のサイトが立ち上げられました。Simple Cloud APIといくつかのクラウドサービスはZend Frameworkに含まれています。一般的なクラウドサービスへのアダプタは製品品質に達しています。
現在の開発
Zend Framework 3.0 は、2016 年 6 月 28 日にリリースされました。JSON RPC サーバー、XML から JSON へのコンバーター、PSR-7 機能、PHP 7 との互換性などの新しいコンポーネントが含まれています。Zend Framework 3.0 は、Zend Framework 2 よりも最大 4 倍高速に実行され、パッケージは分離されているため、再利用性が向上しています。[12] Zend Framework の貢献者は、Zend Framework バージョン 3.x の使用を積極的に推奨しています。Zend Framework 1 のサポート終了日は 2016 年 9 月 28 日、Zend Framework 2 のサポート終了日は 2018 年 3 月 31 日と定められています。Zend Framework 2.0 の最初の開発リリースは、2010 年 8 月 6 日にリリースされました。[29]このリリースで行われた変更は、ステートメントの削除require_once、PHP 5.3 名前空間への移行、リファクタリングされたテスト スイート、書き直されたZend\Session、および新しい の追加ですZend\Stdlib。 2回目の開発リリースは2010年11月3日に行われました。[30] Zend Framework 2.0の最初の安定リリースは2012年9月5日にリリースされました。[31]
参照
参考文献
- ^ 「アーカイブ」。Zend Framework 。 2013年5月1日閲覧。
- ^ "zendframework/zendframework". GitHub . 2017年5月17日閲覧。
- ^ 「Zend Framework 入門」。ZFプログラマー向けリファレンス ガイド。2009 年 2 月 11 日時点のオリジナルよりアーカイブ。2009年 2 月 12 日閲覧。
- ^ 「PHP 5 チュートリアル」www.w3schools.com . 2017 年 2 月 20 日閲覧。
- ^ ab Company、Zend、Rogue Wave。「Zend Framework - About」。framework.zend.com 。 2017年2月5日閲覧。
{{cite web}}:|last=一般的な名前があります (ヘルプ)CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Supaartagorn, C. (2011). MVCパターンに基づくデータベース管理のためのPHPフレームワーク。International Journal of Computer Science & Information Technology (IJCSIT)、3 (2)、251-258。
- ^ 「ゼンドからラミナスへ」2019年4月17日。
- ^ 「Laminas プロジェクト (LF Projects, LLC のシリーズ) の技術憲章 (以下「憲章」)」。GitHub。
- ^ Gutmans, Andi (2005-10-27). 「Zend Framework (投稿が長すぎるので、コーヒーを飲みながら読んでください)」. Andi on Web & IT . 2009-02-11閲覧。
- ^ 「貢献者ガイド(ZF v1)」。
- ^ 「Split Framework」。GitHub。
- ^ ab zendframework (2016-06-28). 「Zend Framework 3 がリリースされました!」。2016 年 10 月 12 日閲覧。
- ^ ab 「ZF コンポーネントのドキュメント」。
- ^ 「PHP および関連プロジェクトの歴史」 PHP グループ. 2009 年 2 月 11 日閲覧。
- ^ LaMonica, Martin (2005-02-25). 「IBM がオープンソース Web ソフトウェアを支援」cnet.com . 2009-02-11閲覧。
- ^ Kernel, Sean Michael (2006-12-20). 「Google Data が PHP Zend Framework に参加」. internetnews.com . 2009-02-11閲覧。
- ^ Krill, Paul (2006-10-31). 「Microsoft、Zend が Windows 向け PHP を強化」. infoworld.com . 2009-02-11閲覧。
- ^ Potter, Mike (2014-05-21). 「Adobe が Zend Framework に AMF サポートを提供」。公式 Flex チーム ブログ。2009-02-07 のオリジナルからアーカイブ。2009-02-11に取得。
- ^ 「StrikeIron Featured Partners」2009年2月11日閲覧。
- ^ 「Zend Framework について」。2009 年 2 月 11 日時点のオリジナルよりアーカイブ。2009 年 2 月 11 日閲覧。
- ^ Zend Framework を使用する理由 SuntecOSS 著、2016 年 4 月 21 日取得
- ^ Zend の Apigility、高品質の API を開発するためのオープンソース API ビルダー、SuntecOSS 著、2016 年 5 月 19 日取得
- ^ 「Zend サイト」。Zend.com。2017年5 月 17 日閲覧。
- ^ 「Zend Studio をダウンロード - IDE、PHP プロファイラー、モバイル、ユニットテストなど」www.Zend.com。2017 年 6 月 1 日時点のオリジナルよりアーカイブ。2017年5 月 17 日閲覧。
- ^ 「Zend Framework Contributor Guide」。2006年7月1日。2008年5月18日時点のオリジナルよりアーカイブ。2008年7月14日閲覧。
- ^ 「Simple Cloud API プレスリリース」。2009 年 12 月 1 日時点のオリジナルよりアーカイブ。2009 年 11 月 5 日閲覧。
- ^ 「Zend Framework ウェブサイト」 。2009年 11 月 5 日閲覧。
- ^ simplecloud.org
- ^ 「Zend Framework 2.0.0dev1」。2010年8月6日。 2010年9月4日閲覧。
- ^ 「Zend Framework 2.0.0dev2」。2011年11月3日。2011年7月16日時点のオリジナルよりアーカイブ。2011年3月18日閲覧。
- ^ 「Zend Framework 2.0.0 STABLE リリース! - Zend Framework - Zend Framework」。Framework.zend.com。2012 年 9 月 5 日。2013年6 月 14 日閲覧。
外部リンク
- 公式サイト
- Zendフレームワーク
