mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-26 14:26:54 +08:00
update links (ja, pl lang) (#19276)
This commit is contained in:
@ -57,7 +57,7 @@ $data = $cache->getOrSet($key, function () use ($user_id) {
|
||||
|
||||
キャッシュ・コンポーネントは通常グローバルに設定しアクセスできるように
|
||||
[アプリケーション・コンポーネント](structure-application-components.md) として登録されます。
|
||||
以下のコードは、二台のキャッシュ・サーバを用いる [Memcached](http://memcached.org/) を使うように
|
||||
以下のコードは、二台のキャッシュ・サーバを用いる [Memcached](https://memcached.org/) を使うように
|
||||
`cache` アプリケーション・コンポーネントを構成する方法を示すものです。
|
||||
|
||||
```php
|
||||
@ -124,13 +124,13 @@ Yii はさまざまなキャッシュ・ストレージをサポートしてい
|
||||
[Memcached](https://www.php.net/manual/ja/book.memcached.php) 拡張モジュールを使用します。
|
||||
分散型のアプリケーションでキャッシュを扱うときには最速の一つとして考えることができます
|
||||
(例えば、複数台のサーバで、ロード・バランサがある、などの場合) 。
|
||||
* [[yii\redis\Cache]]: [Redis](http://redis.io/) の key-value ストアに基づいてキャッシュ・コンポーネントを実装しています。
|
||||
* [[yii\redis\Cache]]: [Redis](https://redis.io/) の key-value ストアに基づいてキャッシュ・コンポーネントを実装しています。
|
||||
(Redis の バージョン 2.6.12 以降が必要とされます) 。
|
||||
* [[yii\caching\WinCache]]: PHP の [WinCache](http://iis.net/downloads/microsoft/wincache-extension) エクステンションを使用します。
|
||||
* [[yii\caching\WinCache]]: PHP の [WinCache](https://iis.net/downloads/microsoft/wincache-extension) エクステンションを使用します。
|
||||
([参照リンク](https://www.php.net/manual/ja/book.wincache.php))
|
||||
* [[yii\caching\XCache]] _(非推奨)_: PHP の [XCache](https://en.wikipedia.org/wiki/List_of_PHP_accelerators#XCache) 拡張モジュールを使用します。
|
||||
* [[yii\caching\ZendDataCache]] _(非推奨)_:
|
||||
キャッシュ・メディアとして [Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm)
|
||||
キャッシュ・メディアとして [Zend Data Cache](https://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm)
|
||||
を使用します。
|
||||
|
||||
|
||||
@ -310,7 +310,7 @@ $result = Customer::getDb()->cache(function ($db) {
|
||||
});
|
||||
```
|
||||
|
||||
> Info: いくつかの DBMS (例えば [MySQL](http://dev.mysql.com/doc/refman/5.1/ja/query-cache.html))
|
||||
> Info: いくつかの DBMS (例えば [MySQL](https://dev.mysql.com/doc/refman/5.1/ja/query-cache.html))
|
||||
もデータベース・サーバ・サイドのクエリ・キャッシュをサポートしています。
|
||||
どちらのクエリ・キャッシュ・メカニズムを選んでも構いません。
|
||||
前述した Yii のクエリ・キャッシュにはキャッシュの依存を柔軟に指定できるという利点があり、潜在的にはより効率的です。
|
||||
|
@ -1,7 +1,7 @@
|
||||
アクティブ・レコード
|
||||
====================
|
||||
|
||||
[アクティブ・レコード](http://ja.wikipedia.org/wiki/Active_Record) は、データベースに保存されているデータにアクセスするために、
|
||||
[アクティブ・レコード](https://ja.wikipedia.org/wiki/Active_Record) は、データベースに保存されているデータにアクセスするために、
|
||||
オブジェクト指向のインタフェイスを提供するものです。
|
||||
アクティブ・レコード・クラスはデータベース・テーブルと関連付けられます。
|
||||
アクティブ・レコードのインスタンスはそのテーブルの行に対応し、アクティブ・レコードのインスタンスの *属性* がその行にある特定のカラムの値を表現します。
|
||||
|
@ -11,11 +11,11 @@ Yii DAO を使うときは、主として素の SQL と PHP 配列を扱う必
|
||||
|
||||
Yii 2.0 では、DAO は下記の DBMS のサポートを内蔵しています。
|
||||
|
||||
- [MySQL](http://www.mysql.com/)
|
||||
- [MySQL](https://www.mysql.com/)
|
||||
- [MariaDB](https://mariadb.com/)
|
||||
- [SQLite](http://sqlite.org/)
|
||||
- [PostgreSQL](http://www.postgresql.org/): バージョン 8.4 以上。
|
||||
- [CUBRID](http://www.cubrid.org/): バージョン 9.3 以上。
|
||||
- [SQLite](https://sqlite.org/)
|
||||
- [PostgreSQL](https://www.postgresql.org/): バージョン 8.4 以上。
|
||||
- [CUBRID](https://www.cubrid.org/): バージョン 9.3 以上。
|
||||
- [Oracle](https://www.oracle.com/database/)
|
||||
- [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): バージョン 2008 以上。
|
||||
|
||||
@ -427,7 +427,7 @@ DBMS によっては、接続全体に対してのみ分離レベルの設定を
|
||||
すなわち、トランザクションを開始するときに、分離レベルを直接に指定することは出来ません。
|
||||
この場合、トランザクションを開始した後に [[yii\db\Transaction::setIsolationLevel()]] を呼び出す必要があります。
|
||||
|
||||
[分離レベル]: http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%86%E9%9B%A2%E3%83%AC%E3%83%99%E3%83%AB
|
||||
[分離レベル]: https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%86%E9%9B%A2%E3%83%AC%E3%83%99%E3%83%AB
|
||||
|
||||
|
||||
### トランザクションを入れ子にする <span id="nesting-transactions"></span>
|
||||
@ -478,7 +478,7 @@ try {
|
||||
## レプリケーションと読み書きの分離 <span id="read-write-splitting"></span>
|
||||
|
||||
多くの DBMS は、データベースの可用性とサーバのレスポンス・タイムを向上させるために、
|
||||
[データベース・レプリケーション](http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9) をサポートしています。
|
||||
[データベース・レプリケーション](https://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9) をサポートしています。
|
||||
データベース・レプリケーションによって、データはいわゆる *マスタ・サーバ* から *スレーブ・サーバ* に複製されます。
|
||||
データの書き込みと更新はすべてマスタ・サーバ上で実行されなければなりませんが、データの読み出しはスレーブ・サーバ上でも可能です。
|
||||
|
||||
|
@ -35,9 +35,9 @@ $this->registerJs(
|
||||
- [[yii\web\View::POS_HEAD|View::POS_HEAD]] - head セクション。
|
||||
- [[yii\web\View::POS_BEGIN|View::POS_BEGIN]] - 開始の `<body>` の直後。
|
||||
- [[yii\web\View::POS_END|View::POS_END]] - 終了の `</body>` の直前。
|
||||
- [[yii\web\View::POS_READY|View::POS_READY]] - [ドキュメントの `ready` イベント](http://learn.jquery.com/using-jquery-core/document-ready/) でコードを実行するための指定。
|
||||
- [[yii\web\View::POS_READY|View::POS_READY]] - [ドキュメントの `ready` イベント](https://learn.jquery.com/using-jquery-core/document-ready/) でコードを実行するための指定。
|
||||
これを指定すると、[[yii\web\JqueryAsset|jQuery]] が自動的に登録され、コードは適切な jQuery コードの中に包まれます。これがデフォルトの位置指定です。
|
||||
- [[yii\web\View::POS_LOAD|View::POS_LOAD]] - [ドキュメントの `load` イベント](http://learn.jquery.com/using-jquery-core/document-ready/) でコードを実行するための指定。
|
||||
- [[yii\web\View::POS_LOAD|View::POS_LOAD]] - [ドキュメントの `load` イベント](https://learn.jquery.com/using-jquery-core/document-ready/) でコードを実行するための指定。
|
||||
上記と同じく、これを指定すると、[[yii\web\JqueryAsset|jQuery]] が自動的に登録されます。
|
||||
|
||||
最後の引数は、スクリプトのコード・ブロックを一意に特定するために使われるスクリプトのユニークな ID です。同じ ID のスクリプトが既にある場合は、新しいものを追加するのでなく、
|
||||
|
@ -777,4 +777,4 @@ yii gii/crud --controllerClass="backend\\controllers\PostController" \
|
||||
さらに読むべき文書
|
||||
------------------
|
||||
|
||||
- Arno Slatius による [Rendering Data in Yii 2 with GridView and ListView](http://www.sitepoint.com/rendering-data-in-yii-2-with-gridview-and-listview/)。
|
||||
- Arno Slatius による [Rendering Data in Yii 2 with GridView and ListView](https://www.sitepoint.com/rendering-data-in-yii-2-with-gridview-and-listview/)。
|
||||
|
@ -140,7 +140,7 @@ public function extraFields()
|
||||
|
||||
## リンク <span id="links"></span>
|
||||
|
||||
[HATEOAS](http://en.wikipedia.org/wiki/HATEOAS) は、Hypermedia as the Engine of Application State (アプリケーション状態のエンジンとしてのハイパーメディア) の略称です。
|
||||
[HATEOAS](https://en.wikipedia.org/wiki/HATEOAS) は、Hypermedia as the Engine of Application State (アプリケーション状態のエンジンとしてのハイパーメディア) の略称です。
|
||||
HATEOAS は、RESTful API は自分が返すリソースについて、どのようなアクションがサポートされているかをクライアントが発見できるような情報を返すべきである、という概念です。
|
||||
HATEOAS のキーポイントは、リソース・データが API によって提供されるときには、
|
||||
関連する情報を一群のハイパーリンクによって返すべきである、ということです。
|
||||
|
@ -230,11 +230,11 @@ public function actionDownload()
|
||||
この機能を使うために、[[yii\web\Response::xSendFile()]] を呼ぶことが出来ます。
|
||||
次のリストは、よく使われるいくつかのウェブ・サーバにおいて `X-Sendfile` 機能を有効にする方法を要約するものです。
|
||||
|
||||
- Apache: [X-Sendfile](http://tn123.org/mod_xsendfile)
|
||||
- Lighttpd v1.4: [X-LIGHTTPD-send-file](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file)
|
||||
- Lighttpd v1.5: [X-Sendfile](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file)
|
||||
- Apache: [X-Sendfile](https://tn123.org/mod_xsendfile)
|
||||
- Lighttpd v1.4: [X-LIGHTTPD-send-file](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file)
|
||||
- Lighttpd v1.5: [X-Sendfile](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file)
|
||||
- Nginx: [X-Accel-Redirect](https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/)
|
||||
- Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
|
||||
- Cherokee: [X-Sendfile and X-Accel-Redirect](https://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
|
||||
|
||||
|
||||
## レスポンスを送信する <span id="sending-response"></span>
|
||||
|
@ -131,7 +131,7 @@ Yii は、また、さまざまなセッション・ストレージを実装す
|
||||
|
||||
* [[yii\web\DbSession]]: セッション・データをデータベース・テーブルを使って保存する。
|
||||
* [[yii\web\CacheSession]]: セッション・データを、構成された [キャッシュ・コンポーネント](caching-data.md#cache-components) の力を借りて、キャッシュを使って保存する。
|
||||
* [[yii\redis\Session]]: セッション・データを [redis](http://redis.io/) をストレージ媒体として使って保存する。
|
||||
* [[yii\redis\Session]]: セッション・データを [redis](https://redis.io/) をストレージ媒体として使って保存する。
|
||||
* [[yii\mongodb\Session]]: セッション・データを [MongoDB](https://www.mongodb.com/) に保存する。
|
||||
|
||||
これらのセッション・クラスは全て一連の同じ API メソッドをサポートします。
|
||||
|
@ -129,7 +129,7 @@ class SiteController extends Controller
|
||||
その中で HTML フォームが (もし有れば) 検証エラーのメッセージとともに表示されます。
|
||||
|
||||
> Note: この簡単な例では、有効なデータ送信に対して単純に確認ページを表示しています。
|
||||
実際の仕事では、[フォーム送信の諸問題](http://en.wikipedia.org/wiki/Post/Redirect/Get) を避けるために、
|
||||
実際の仕事では、[フォーム送信の諸問題](https://en.wikipedia.org/wiki/Post/Redirect/Get) を避けるために、
|
||||
[[yii\web\Controller::refresh()|refresh()]] または [[yii\web\Controller::redirect()|redirect()]] を使うことを考慮すべきです。
|
||||
|
||||
|
||||
|
@ -88,7 +88,7 @@ use yii\helpers\Html;
|
||||
|
||||
上記のコードで `message` パラメータが出力される前に [[yii\helpers\Html::encode()|HTML-エンコード]] されていることに注意してください。
|
||||
パラメータはエンド・ユーザから来るものであり、悪意のある JavaScript コードを埋め込まれて
|
||||
[クロス・サイト・スクリプティング (XSS) 攻撃](http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0) に使われうるものですから、
|
||||
[クロス・サイト・スクリプティング (XSS) 攻撃](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0) に使われうるものですから、
|
||||
脆弱性を防止するためにこうすることが必要です。
|
||||
|
||||
当然ながら、`say` ビューにはもっと多くのコンテントを入れても構いません。コンテントには、HTML タグ、平文テキスト、さらには PHP 文を含めることが出来ます。
|
||||
|
@ -33,4 +33,4 @@ Gii をコード生成に使うと、ウェブ開発のプロセスの大部分
|
||||
- Facebook: <https://www.facebook.com/groups/yiitalk/>
|
||||
- Twitter: <https://twitter.com/yiiframework>
|
||||
- LinkedIn: <https://www.linkedin.com/groups/yii-framework-1483367>
|
||||
- Stackoverflow: <http://stackoverflow.com/questions/tagged/yii2>
|
||||
- Stackoverflow: <https://stackoverflow.com/questions/tagged/yii2>
|
||||
|
@ -79,7 +79,7 @@ class AppAsset extends AssetBundle
|
||||
実際のファイルのパスは、この相対パスの前に [[yii\web\AssetManager::basePath]] を付けることによって決定されます。
|
||||
また、実際の URL は、この相対パスの前に [[yii\web\AssetManager::baseUrl]] を付けることによって決定されます。
|
||||
- 外部の JavaScript ファイルを表す絶対 URL。
|
||||
例えば、`http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` や
|
||||
例えば、`https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` や
|
||||
`//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` など。
|
||||
* [[yii\web\AssetBundle::depends|depends]]: このバンドルが依存しているアセット・バンドルの名前をリストする配列です
|
||||
(バンドルの依存関係については、すぐ後で説明します)。
|
||||
@ -207,7 +207,7 @@ class FontAwesomeAsset extends AssetBundle
|
||||
|
||||
### Bower と NPM のアセットのインストール <span id="bower-npm-assets"></span>
|
||||
|
||||
ほとんどの JavaScript/CSS パッケージは、[Bower](http://bower.io/) および/または [NPM](https://www.npmjs.com/) によって管理されています。
|
||||
ほとんどの JavaScript/CSS パッケージは、[Bower](https://bower.io/) および/または [NPM](https://www.npmjs.com/) によって管理されています。
|
||||
PHP の世界には PHP の依存を管理する Composer がありますが、PHP のパッケージと全く同じように
|
||||
`composer.json` を使って Bower のパッケージも NPM のパッケージもロードすることが可能です。
|
||||
|
||||
|
@ -75,7 +75,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
|
||||
2. もし有れば、エクステンションによって提供されているクラス・オートローダをインストールする。
|
||||
3. 指示に従って、依存するエクステンションを全てダウンロードしインストールする。
|
||||
|
||||
エクステンションがクラス・オートローダを持っていなくても、[PSR-4 標準](http://www.php-fig.org/psr/psr-4/) に従っている場合は、Yii によって提供されているクラス・オートローダを使ってエクステンションのクラスをオートロードすることが出来ます。
|
||||
エクステンションがクラス・オートローダを持っていなくても、[PSR-4 標準](https://www.php-fig.org/psr/psr-4/) に従っている場合は、Yii によって提供されているクラス・オートローダを使ってエクステンションのクラスをオートロードすることが出来ます。
|
||||
必要なことは、エクステンションのルート・ディレクトリのための [ルート・エイリアス](concept-aliases.md#defining-aliases) を宣言することだけです。
|
||||
例えば、エクステンションを `vendor/mycompany/myext` というディレクトリにインストールしたと仮定します。
|
||||
そして、エクステンションのクラスは `myext` 名前空間の下にあるとします。
|
||||
@ -184,7 +184,7 @@ Yii のアプリケーションは、このファイルによって、どんな
|
||||
それぞれの依存パッケージについて、適切なバージョン制約 (例えば `1.*` や `@stable`) を指定することも忘れてはなりません。
|
||||
あなたのエクステンションを安定バージョンとしてリリースする場合は、安定した依存パッケージを使ってください。
|
||||
|
||||
たいていの JavaScript/CSS パッケージは、Composer ではなく、[Bower](http://bower.io/) および/または [NPM](https://www.npmjs.com/) を使って管理されています。
|
||||
たいていの JavaScript/CSS パッケージは、Composer ではなく、[Bower](https://bower.io/) および/または [NPM](https://www.npmjs.com/) を使って管理されています。
|
||||
Yii は [Composer アセット・プラグイン](https://github.com/fxpio/composer-asset-plugin) を使って、この種のパッケージを Composer によって管理することを可能にしています。
|
||||
あなたのエクステンションが Bower パッケージに依存している場合でも、次のように、
|
||||
`composer.json` に依存パッケージをリストアップすることが簡単に出来ます。
|
||||
@ -240,7 +240,7 @@ Composer が Bower または NPM のパッケージをインストールする
|
||||
#### 名前空間 <span id="namespaces"></span>
|
||||
|
||||
名前の衝突を避けて、エクステンションの中のクラスをオートロード可能にするために、名前空間を使うべきであり、
|
||||
エクステンションの中のクラスには [PSR-4 標準](http://www.php-fig.org/psr/psr-4/) または [PSR-0 標準](http://www.php-fig.org/psr/psr-0/)
|
||||
エクステンションの中のクラスには [PSR-4 標準](https://www.php-fig.org/psr/psr-4/) または [PSR-0 標準](https://www.php-fig.org/psr/psr-0/)
|
||||
に従った名前を付けるべきです。
|
||||
|
||||
あなたのクラスの名前空間は `vendorName\extensionName` で始まるべきです。
|
||||
@ -351,7 +351,7 @@ Yii はテストのサポートを提供しており、それよって、単体
|
||||
#### バージョン管理 <span id="versioning"></span>
|
||||
|
||||
エクステンションのリリースごとにバージョン番号 (例えば `1.0.1`) を付けるべきです。
|
||||
どのようなバージョン番号を付けるべきかを決定するときは、[セマンティック・バージョニング](http://semver.org) のプラクティスに従うことを推奨します。
|
||||
どのようなバージョン番号を付けるべきかを決定するときは、[セマンティック・バージョニング](https://semver.org) のプラクティスに従うことを推奨します。
|
||||
|
||||
|
||||
#### リリース(公開) <span id="releasing"></span>
|
||||
@ -368,7 +368,7 @@ Composer レポジトリに新しいリリースについて通知するだけ
|
||||
|
||||
* パッケージのルート・ディレクトリに readme ファイル: あなたのエクステンションが何をするものか、
|
||||
そして、どのようにインストールして使うものかを説明するものです。
|
||||
[Markdown](http://daringfireball.net/projects/markdown/) 形式で書いて、`readme.md` という名前にすることを推奨します。
|
||||
[Markdown](https://daringfireball.net/projects/markdown/) 形式で書いて、`readme.md` という名前にすることを推奨します。
|
||||
* パッケージのルート・ディレクトリに changelog ファイル: それぞれのリリースで何が変ったかを一覧表示するものです。
|
||||
このファイルは Markdown 形式で書いて `changelog.md` と名付けることが出来ます。
|
||||
* パッケージのルート・ディレクトリに upgrade ファイル: エクステンションの古いリリースからのアップグレード方法について説明するものです。
|
||||
@ -398,7 +398,7 @@ Yii は下記のコア・エクステンション (または ["公式エクス
|
||||
- [yiisoft/yii2-authclient](https://github.com/yiisoft/yii2-authclient):
|
||||
Facebook OAuth2 クライアント、GitHub OAuth2 クライアントなど、よく使われる一連の auth クライアントを提供します。
|
||||
- [yiisoft/yii2-bootstrap](https://github.com/yiisoft/yii2-bootstrap):
|
||||
[Bootstrap](http://getbootstrap.com/) のコンポーネントとプラグインをカプセル化した一連のウィジェットを提供します。
|
||||
[Bootstrap](https://getbootstrap.com/) のコンポーネントとプラグインをカプセル化した一連のウィジェットを提供します。
|
||||
- [yiisoft/yii2-debug](https://github.com/yiisoft/yii2-debug):
|
||||
Yii アプリケーションのデバッグのサポートを提供します。
|
||||
このエクステンションが使われると、全てのページの末尾にデバッガ・ツールバーが表示されます。
|
||||
@ -415,9 +415,9 @@ Yii は下記のコア・エクステンション (または ["公式エクス
|
||||
- [yiisoft/yii2-httpclient](https://github.com/yiisoft/yii2-httpclient):
|
||||
HTTP クライアントを提供します。
|
||||
- [yiisoft/yii2-imagine](https://github.com/yiisoft/yii2-imagine):
|
||||
[Imagine](http://imagine.readthedocs.org/) に基づいて、使われることの多い画像操作機能を提供します。
|
||||
[Imagine](https://imagine.readthedocs.org/) に基づいて、使われることの多い画像操作機能を提供します。
|
||||
- [yiisoft/yii2-jui](https://github.com/yiisoft/yii2-jui):
|
||||
[JQuery UI](http://jqueryui.com/) のインタラクションとウィジェットをカプセル化した一連のウィジェットを提供します。
|
||||
[JQuery UI](https://jqueryui.com/) のインタラクションとウィジェットをカプセル化した一連のウィジェットを提供します。
|
||||
- [yiisoft/yii2-mongodb](https://github.com/yiisoft/yii2-mongodb):
|
||||
[MongoDB](https://www.mongodb.com/) の使用に対するサポートを提供します。
|
||||
基本的なクエリ、アクティブ・レコード、マイグレーション、キャッシュ、コード生成などの機能を含みます。
|
||||
@ -425,12 +425,12 @@ Yii は下記のコア・エクステンション (または ["公式エクス
|
||||
キューによるタスクの非同期実行のサポートを提供します。
|
||||
データベース、Redis、RabbitMQ、AMQP、Beanstalk および Gearman によるキューをサポートしています。
|
||||
- [yiisoft/yii2-redis](https://github.com/yiisoft/yii2-redis):
|
||||
[redis](http://redis.io/) の使用に対するサポートを提供します。
|
||||
[redis](https://redis.io/) の使用に対するサポートを提供します。
|
||||
基本的なクエリ、アクティブ・レコード、キャッシュなどの機能を含みます。
|
||||
- [yiisoft/yii2-shell](https://www.yiiframework.com/extension/yiisoft/yii2-shell):
|
||||
[psysh](http://psysh.org/) に基づくイタラクティブなシェルを提供します。
|
||||
[psysh](https://psysh.org/) に基づくイタラクティブなシェルを提供します。
|
||||
- [yiisoft/yii2-smarty](https://github.com/yiisoft/yii2-smarty):
|
||||
[Smarty](http://www.smarty.net/) に基づいたテンプレート・エンジンを提供します。
|
||||
[Smarty](https://www.smarty.net/) に基づいたテンプレート・エンジンを提供します。
|
||||
- [yiisoft/yii2-sphinx](https://github.com/yiisoft/yii2-sphinx):
|
||||
[Sphinx](http://sphinxsearch.com) の使用に対するサポートを提供します。
|
||||
基本的なクエリ、アクティブ・レコード、コード生成などの機能を含みます。
|
||||
@ -447,7 +447,7 @@ Yii は下記のコア・エクステンション (または ["公式エクス
|
||||
- [yiisoft/yii2-jquery](https://www.yiiframework.com/extension/yiisoft/yii2-jquery):
|
||||
[jQuery](https://jquery.com/) のサポートを提供します。
|
||||
- [yiisoft/yii2-maskedinput](https://www.yiiframework.com/extension/yiisoft/yii2-maskedinput):
|
||||
[jQuery Input Mask plugin](http://robinherbots.github.io/Inputmask/) に基づいて、マスクト・インプットを提供します。
|
||||
[jQuery Input Mask plugin](https://robinherbots.github.io/Inputmask/) に基づいて、マスクト・インプットを提供します。
|
||||
- [yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql):
|
||||
[MSSQL](https://www.microsoft.com/sql-server/) を使うためのサポートを提供します。
|
||||
- [yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle):
|
||||
|
@ -1,7 +1,7 @@
|
||||
概要
|
||||
====
|
||||
|
||||
Yii のアプリケーションは [モデル・ビュー・コントローラ (MVC)](http://ja.wikipedia.org/wiki/Model_View_Controller) アーキテクチャ・パターンに従って編成されています。
|
||||
Yii のアプリケーションは [モデル・ビュー・コントローラ (MVC)](https://ja.wikipedia.org/wiki/Model_View_Controller) アーキテクチャ・パターンに従って編成されています。
|
||||
[モデル](structure-models.md) は、データ、ビジネス・ロジック、規則を表現します。
|
||||
[ビュー](structure-views.md) は、モデルの出力表現です。
|
||||
そして [コントローラ](structure-controllers.md) は入力を受け取って、それを [モデル](structure-models.md) と [ビュー](structure-views.md) のためのコマンドに変換します。
|
||||
|
@ -1,7 +1,7 @@
|
||||
ビュー
|
||||
======
|
||||
|
||||
ビューは [MVC](http://ja.wikipedia.org/wiki/Model_View_Controller) アーキテクチャの一部を成すものです。
|
||||
ビューは [MVC](https://ja.wikipedia.org/wiki/Model_View_Controller) アーキテクチャの一部を成すものです。
|
||||
ビューはエンド・ユーザにデータを表示することに責任を持つコードです。
|
||||
ウェブ・アプリケーションにおいては、ビューは、通常、*ビュー・テンプレート* の形式、すなわち、
|
||||
主として HTML コードと表示目的の PHP コードを含む PHP スクリプト・ファイルとして作成されます。
|
||||
@ -51,7 +51,7 @@ $this->title = 'ログイン';
|
||||
### セキュリティ <span id="security"></span>
|
||||
|
||||
HTML ページを生成するビューを作成するときは、エンド・ユーザから受け取るデータを表示する前にエンコード および/または フィルタすることが重要です。
|
||||
そうしなければ、あなたのアプリケーションは [クロス・サイト・スクリプティング](http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0) 攻撃を
|
||||
そうしなければ、あなたのアプリケーションは [クロス・サイト・スクリプティング](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0) 攻撃を
|
||||
こうむるおそれがあります。
|
||||
|
||||
プレーン・テキストを表示するためには、まず [[yii\helpers\Html::encode()]] を呼んでエンコードします。
|
||||
|
@ -6,8 +6,8 @@
|
||||
|
||||
受入テストは Codeception フレームワークの助けを借りて実装されています。Codeception フレームワークには優れたドキュメントがありますので、参照して下さい。
|
||||
|
||||
- [Codeception for Yii framework](http://codeception.com/for/yii)
|
||||
- [Codeception Acceptance Tests](http://codeception.com/docs/03-AcceptanceTests)
|
||||
- [Codeception for Yii framework](https://codeception.com/for/yii)
|
||||
- [Codeception Acceptance Tests](https://codeception.com/docs/03-AcceptanceTests)
|
||||
|
||||
## ベーシック・テンプレート、アドバンスト・テンプレートのテストを実行する
|
||||
|
||||
|
@ -132,7 +132,7 @@ CREATE TABLE session (
|
||||
ただし、キャッシュ・ストレージの中には、容量の上限に達したときにキャッシュされたデータをフラッシュするものがあることに注意してください。
|
||||
この理由により、主として容量の上限が無い種類のキャッシュ・ストレージを使用すべきです。
|
||||
|
||||
あなたのサーバに [Redis](http://redis.io/) がある場合は、[[yii\redis\Session]] によって redis
|
||||
あなたのサーバに [Redis](https://redis.io/) がある場合は、[[yii\redis\Session]] によって redis
|
||||
をセッション・ストレージとして使用することを強く推奨します。
|
||||
|
||||
|
||||
@ -218,7 +218,7 @@ composer dumpautoload -o
|
||||
- [Yii のデバッグ・ツールバーとデバッガ](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-ja/README.md)
|
||||
- [Blackfire](https://blackfire.io/)
|
||||
- [XHProf](https://www.php.net/manual/ja/book.xhprof.php)
|
||||
- [XDebug プロファイラ](http://xdebug.org/docs/profiler)
|
||||
- [XDebug プロファイラ](https://xdebug.org/docs/profiler)
|
||||
|
||||
## アプリケーションをスケーラブルなものにする覚悟を決める
|
||||
|
||||
|
@ -42,7 +42,7 @@ git clone git@github.com:yiisoft/yii2-app-basic.git
|
||||
----------------
|
||||
|
||||
テンプレートが定義できたら、それを基に Git レポジトリを作成して、ファイルをそこにプッシュします。
|
||||
あなたのテンプレートをオープンソース化するつもりなら、レポジトリをホストするのには [Github](http://github.com) が最適の場所です。
|
||||
あなたのテンプレートをオープンソース化するつもりなら、レポジトリをホストするのには [Github](https://github.com) が最適の場所です。
|
||||
テンプレートを共同作業に使わないつもりであれば、どんな Git レポジトリサイトでも構いません。
|
||||
|
||||
次に、Composer のためにパッケージを登録する必要があります。パブリックなテンプレートであれば、パッケージは [Packagist](https://packagist.org/) に登録すべきです。
|
||||
|
@ -109,7 +109,7 @@ Yii predefiniuje zestaw aliasów do łatwego wskazywania często używanych ści
|
||||
[skrypt wejścia](structure-entry-scripts.md).
|
||||
- `@web`, bazowy adres URL aktualnie używanej aplikacji Web. Wskazuje na tą samą wartość co [[yii\web\Request::baseUrl]].
|
||||
- `@vendor`, [[yii\base\Application::vendorPath|folder pakietów composera]]. Domyślnie wskazuje na `@app/vendor`.
|
||||
- `@bower`, bazowy folder zawierający [pakiety bowera](http://bower.io/). Domyślnie wskazuje na `@vendor/bower`.
|
||||
- `@bower`, bazowy folder zawierający [pakiety bowera](https://bower.io/). Domyślnie wskazuje na `@vendor/bower`.
|
||||
- `@npm`, bazowy folder zawierający [pakiety npm](https://www.npmjs.com/). Domyślnie wskazuje na `@vendor/npm`.
|
||||
|
||||
Alias `@yii` jest definiowany poprzez dołączenie pliku `Yii.php` w [skrypcie wejścia](structure-entry-scripts.md).
|
||||
|
@ -1,7 +1,7 @@
|
||||
Active Record
|
||||
=============
|
||||
|
||||
[Active Record](http://en.wikipedia.org/wiki/Active_record_pattern) zapewnia zorientowany obiektowo interfejs dostępu i manipulacji danymi
|
||||
[Active Record](https://en.wikipedia.org/wiki/Active_record_pattern) zapewnia zorientowany obiektowo interfejs dostępu i manipulacji danymi
|
||||
zapisanymi w bazie danych. Klasa typu Active Record jest powiązana z tabelą bazodanową, a instacja tej klasy odpowiada pojedynczemu wierszowi
|
||||
w tabeli - *atrybut* obiektu Active Record reprezentuje wartość konkretnej kolumny w tym wierszu. Zamiast pisać bezpośrednie kwerendy bazy danych,
|
||||
można skorzystać z atrybutów i metod klasy Active Record.
|
||||
@ -31,7 +31,7 @@ Yii zapewnia wsparcie Active Record dla następujących typów relacyjnych baz d
|
||||
* SQLite 2 i 3: poprzez [[yii\db\ActiveRecord]]
|
||||
* Microsoft SQL Server 2008 lub nowszy: poprzez [[yii\db\ActiveRecord]]
|
||||
* Oracle: poprzez [[yii\db\ActiveRecord]]
|
||||
* CUBRID 9.3 lub nowszy: poprzez [[yii\db\ActiveRecord]] (zwróć uwagę, że z powodu [błędu](http://jira.cubrid.org/browse/APIS-658)
|
||||
* CUBRID 9.3 lub nowszy: poprzez [[yii\db\ActiveRecord]] (zwróć uwagę, że z powodu [błędu](https://jira.cubrid.org/browse/APIS-658)
|
||||
w rozszerzeniu PDO cubrid, umieszczanie wartości w cudzysłowie nie będzie działać, zatem wymagane jest zainstalowanie CUBRID 9.3 zarówno
|
||||
jako klienta jak i serwer)
|
||||
* Sphinx: poprzez [[yii\sphinx\ActiveRecord]], wymaga rozszerzenia `yii2-sphinx`
|
||||
|
@ -661,7 +661,7 @@ w `safeDown()` najpierw kasujemy wiersz, a potem usuwamy tabelę.
|
||||
|
||||
> Note: Nie wszystkie silniki baz danych wspierają transakcje i nie wszystkie rodzaje komend bazodanowych można umieszczać
|
||||
w transakcjach. Dla przykładu, zapoznaj się z rozdziałem dokumentacji MySQL
|
||||
[Statements That Cause an Implicit Commit](http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). W przypadku
|
||||
[Statements That Cause an Implicit Commit](https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). W przypadku
|
||||
braku możliwości skorzystania z transakcji, powinieneś użyć `up()` i `down()`.
|
||||
|
||||
|
||||
|
@ -99,7 +99,7 @@ Odnosząc się do [dokumentacji jQuery](https://api.jquery.com/submit), istnieje
|
||||
|
||||
> Formularz i jego elementy podrzędne powinny nie używać nazw pól lub nazw identyfikatorów które tworzą konflikt z właściwościami formularza,
|
||||
> takich jak `submit`, `length` lub `method`. Konflikty nazw mogą powodować mylące błędy.
|
||||
> Kompletna lista zasad oraz walidator znaczników dla tych problemów znajduje się na stronie [DOMLint](http://kangax.github.io/domlint).
|
||||
> Kompletna lista zasad oraz walidator znaczników dla tych problemów znajduje się na stronie [DOMLint](https://kangax.github.io/domlint).
|
||||
|
||||
Dodatkowe tagi HTML mogą zostać dodane do formularza używając czystego HTML'a lub używając metody z klasy pomocniczej - [[yii\helpers\Html|Html]],
|
||||
tak jak było to zrobione w przykładzie wyżej z [[yii\helpers\Html::submitButton()|submitButton()]].
|
||||
|
@ -8,7 +8,7 @@ pełną wsteczną kompatybilność (BC = backward compatibility), kiedy to tylko
|
||||
może nie spełniać BC, należy wprowadzić ją w nowej wersji API, z kolejnym numerem. Istniejące klienty mogą wciąż używać starej,
|
||||
działającej wersji API, a nowe lub uaktualnione klienty mogą otrzymać nową funkcjonalność oferowaną przez kolejną wersję API.
|
||||
|
||||
> Tip: Zapoznaj się z [Wersjonowaniem semantycznym](http://semver.org/lang/pl/), aby uzyskać więcej informacji na temat nazewnictwa
|
||||
> Tip: Zapoznaj się z [Wersjonowaniem semantycznym](https://semver.org/lang/pl/), aby uzyskać więcej informacji na temat nazewnictwa
|
||||
numerów wersji.
|
||||
|
||||
Jedną z często spotykanych implementacji wersjonowania API jest dodawanie numeru wersji w adresach URL API.
|
||||
|
@ -123,7 +123,7 @@ Jeśli nie zostały wysłane żadne dane lub dane zawierają błędy, zostanie w
|
||||
|
||||
> Note: W tym prostym przykładzie po prostu renderujemy stronę z potwierdzeniem prawidłowego przesłania danych.
|
||||
> W praktyce powinieneś rozważyć użycie [[yii\web\Controller::refresh()|refresh()]] lub [[yii\web\Controller::redirect()|redirect()]], aby uniknąć
|
||||
> [problemów z ponownym przesłaniem formularza](http://en.wikipedia.org/wiki/Post/Redirect/Get).
|
||||
> [problemów z ponownym przesłaniem formularza](https://en.wikipedia.org/wiki/Post/Redirect/Get).
|
||||
|
||||
|
||||
Tworzenie widoku <span id="creating-views"></span>
|
||||
|
@ -76,7 +76,7 @@ Widok `say` powinien być zapisany w pliku `views/site/say.php`. Kiedy wywołana
|
||||
wg schematu `views/ControllerID/ViewName.php`.
|
||||
|
||||
Zauważ, że w powyższym kodzie parametr `message` jest przetworzony za pomocą metody [[yii\helpers\Html::encode()|encode()]] przed wyświetleniem go. Jest to konieczne w przypadku
|
||||
parametrów pochodzących od użytkownika, wrażliwych na ataki [XSS](http://en.wikipedia.org/wiki/Cross-site_scripting) przez podanie złośliwego kodu JavaScript.
|
||||
parametrów pochodzących od użytkownika, wrażliwych na ataki [XSS](https://en.wikipedia.org/wiki/Cross-site_scripting) przez podanie złośliwego kodu JavaScript.
|
||||
|
||||
Naturalnie możesz umieścić więcej zawartości w widoku `say`. Zawartość może zawierać tagi HTML, czysty tekst, a nawet kod PHP.
|
||||
Tak naprawdę, widok `say` jest tylko skryptem PHP, który jest wywoływany przez metodę [[yii\web\Controller::render()|render()]].
|
||||
|
@ -112,7 +112,7 @@ Dostępne są również inne opcje instalacji:
|
||||
Instalowanie zasobów <span id="installing-assets"></span>
|
||||
--------------------
|
||||
|
||||
Yii używa menadżerów pakietów [Bower](http://bower.io/) i/lub [NPM](https://www.npmjs.com/) do instalacji bibliotek
|
||||
Yii używa menadżerów pakietów [Bower](https://bower.io/) i/lub [NPM](https://www.npmjs.com/) do instalacji bibliotek
|
||||
zasobów (CSS i JavaScript). Proces pobierania tych bibliotek korzysta z Composera, pozwalając na rozwiązywanie zależności
|
||||
pakietów PHP i CSS/JavaScript w tym samym czasie, za pomocą serwisu [asset-packagist.org](https://asset-packagist.org)
|
||||
lub wtyczki [composer asset plugin](https://github.com/fxpio/composer-asset-plugin).
|
||||
@ -186,9 +186,9 @@ Konfigurowanie serwerów WWW <span id="configuring-web-servers"></span>
|
||||
> Info: Możesz pominąć tą sekcję, jeśli tylko testujesz Yii, bez zamiaru zamieszczania aplikacji na serwerze produkcyjnym.
|
||||
|
||||
Aplikacja zainstalowana według powyższych instrukcji powinna działać bezproblemowo zarówno na
|
||||
[serwerze HTTP Apache](http://httpd.apache.org) jak i [serwerze HTTP Nginx](http://nginx.org), na systemie
|
||||
[serwerze HTTP Apache](https://httpd.apache.org) jak i [serwerze HTTP Nginx](https://nginx.org), na systemie
|
||||
operacyjnym Windows, Mac OS X oraz Linux, posiadającym zainstalowane PHP 5.4 lub nowsze. Yii 2.0 jest również kompatybilne
|
||||
z [facebookowym HHVM](http://hhvm.com), są jednak przypadki, gdzie Yii zachowuje się inaczej w HHVM niż w natywnym PHP,
|
||||
z [facebookowym HHVM](https://hhvm.com), są jednak przypadki, gdzie Yii zachowuje się inaczej w HHVM niż w natywnym PHP,
|
||||
dlatego powinieneś zachować szczególną ostrożność używając HHVM.
|
||||
|
||||
Na serwerze produkcyjnym możesz skonfigurować swój host tak, aby aplikacja była dostępna pod adresem
|
||||
@ -234,7 +234,7 @@ DocumentRoot "path/to/basic/web"
|
||||
|
||||
### Zalecane ustawienia Nginx <span id="recommended-nginx-configuration"></span>
|
||||
|
||||
Aby użyć [Nginx](http://wiki.nginx.org/) powinienieś zainstalować PHP jako [FPM SAPI](https://www.php.net/install.fpm).
|
||||
Aby użyć [Nginx](https://wiki.nginx.org/) powinienieś zainstalować PHP jako [FPM SAPI](https://www.php.net/install.fpm).
|
||||
Możesz użyć przedstawionej poniżej konfiguracji Nginx, zastępując jedynie ścieżkę `path/to/basic/web` aktualną ścieżką
|
||||
do `basic/web` Twojej aplikacji oraz `mysite.test` aktualną nazwą hosta.
|
||||
|
||||
|
@ -31,4 +31,4 @@ Ta sekcja podsumuje dostępne zasoby Yii, które pomogą Ci być bardziej produk
|
||||
- Facebook: <https://www.facebook.com/groups/yiitalk/>
|
||||
- Twitter: <https://twitter.com/yiiframework>
|
||||
- LinkedIn: <https://www.linkedin.com/groups/yii-framework-1483367>
|
||||
- StackOverflow: <http://stackoverflow.com/questions/tagged/yii2>
|
||||
- StackOverflow: <https://stackoverflow.com/questions/tagged/yii2>
|
||||
|
@ -57,7 +57,7 @@ basic/ bazowa ścieżka aplikacji
|
||||
Ogólnie pliki aplikacji mogą zostać podzielone na dwa typy: pliki w katalogu `basic/web` oraz pliki w innych katalogach.
|
||||
Dostęp do pierwszego typu można uzyskać przez HTTP (np. przez przeglądarkę), podczas gdy reszta nie może, i nie powinna być, dostępna publicznie.
|
||||
|
||||
Yii implementuje wzór architektoniczny [model-widok-kontroler (MVC)](http://wikipedia.org/wiki/Model-view-controller), który jest odzwierciedleniem przedstawionej wyżej organizacji
|
||||
Yii implementuje wzór architektoniczny [model-widok-kontroler (MVC)](https://wikipedia.org/wiki/Model-view-controller), który jest odzwierciedleniem przedstawionej wyżej organizacji
|
||||
katalogów.
|
||||
Katalog `models` zawiera wszystkie [klasy modeli](structure-models.md), katalog `views` zawiera wszystkie [skrypty widoków](structure-views.md) oraz katalog `controllers` zawiera
|
||||
wszystkie [klasy kontrolerów](structure-controllers.md).
|
||||
|
@ -3,7 +3,7 @@ Testy akceptacyjne
|
||||
|
||||
> Uwaga: Ta sekcja jest w trakcie tworzenia.
|
||||
|
||||
- [Testy akceptacyjne Codeception](http://codeception.com/docs/03-AcceptanceTests)
|
||||
- [Testy akceptacyjne Codeception](https://codeception.com/docs/03-AcceptanceTests)
|
||||
|
||||
Uruchamianie testów akceptacyjnych dla podstawowego i zaawansowanego szablonu projektu
|
||||
--------------------------------------------------------------------------------------
|
||||
|
@ -3,7 +3,7 @@ Testy funkcjonalne
|
||||
|
||||
> Uwaga: Ta sekcja jest w trakcie tworzenia.
|
||||
|
||||
- [Testy funkcjonalne Codeception](http://codeception.com/docs/04-FunctionalTests)
|
||||
- [Testy funkcjonalne Codeception](https://codeception.com/docs/04-FunctionalTests)
|
||||
|
||||
Uruchamianie testów funkcjonalnych dla podstawowego i zaawansowanego szablonu projektu
|
||||
--------------------------------------------------------------------------------------
|
||||
|
@ -10,8 +10,8 @@ Testy jednostkowe są zazwyczaj tworzone przez osoby, które piszą klasy poddaw
|
||||
|
||||
Testy jednostkowe w Yii są oparte o PHPUnit oraz, opcjonalnie, Codeception, zatem zalecane jest, aby zapoznać się z ich dokumentacją:
|
||||
|
||||
- [PHPUnit (dokumentacja zaczyna się w rozdziale 2)](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html).
|
||||
- [Testy jednostkowe Codeception](http://codeception.com/docs/05-UnitTests).
|
||||
- [PHPUnit (dokumentacja zaczyna się w rozdziale 2)](https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html).
|
||||
- [Testy jednostkowe Codeception](https://codeception.com/docs/05-UnitTests).
|
||||
|
||||
Uruchamianie testów jednostkowych dla podstawowego i zaawansowanego szablonu projektu
|
||||
-------------------------------------------------------------------------------------
|
||||
|
@ -39,7 +39,7 @@ Na samym końcu zmodyfikuj plik README, aby pasował do szablonu.
|
||||
Tworzenie paczki
|
||||
----------------
|
||||
|
||||
Nowy szablon umieść w odpowiadającym mu repozytorium Git. Jeśli zamierzasz udostępnić go jako open source, [Github](http://github.com) jest najlepszym miejscem do tego celu.
|
||||
Nowy szablon umieść w odpowiadającym mu repozytorium Git. Jeśli zamierzasz udostępnić go jako open source, [Github](https://github.com) jest najlepszym miejscem do tego celu.
|
||||
Jeśli jednak nie przewidujesz współpracy z innymi nad swoim szablonem, dowolne repozytorium Git będzie odpowiednie.
|
||||
|
||||
Następnie należy zarejestrować swoją paczkę dla Composera. Dla publicznie dostępnych szablonów paczkę należy zarejestrować w serwisie [Packagist](https://packagist.org/).
|
||||
|
Reference in New Issue
Block a user