あなたがたは地元の海賊用語を添えたPHPフレームワークを望んでいますか?
セブンシーズで最も裸の骨のフレームワークです!
http://bonemvc.delboysplace.co.uk
骨がv3.xになりました!デグインo 'Th'船全体が合理化されており、はるかに操作可能になりました!私たちは、PSR-15ミドルウェアルーターと相まって、モジュール式の方法でPSR-11依存関係噴射コンテナを使用しています!ジャンプに乗せて!
まず、作曲家がいることを確認してください!次に、骨を取り付けます。
composer create-project delboy1978uk/bonemvc your/path/here
または、作曲家をグローバルにインストールしていない場合は...
php composer.phar create-project delboy1978uk/bonemvc your/path/here
Dockerを使用して完全な開発サーバーを取得する方法については、以下をご覧ください
任意の数の.phpファイルを構成/フォルダーにドロップできます。構成を使用して配列を返すことを確認してください。環境var Application_Envに基づいて構成をオーバーライドできます。たとえば、環境が生産である場合、追加の構成が生産サブディレクトリにロードされます。
デフォルトでいくつかの構成ファイルがあります:
db.php
i18n.php
logs.php
mail.php
routes.php
templates.php
構成ファイルには、必要なものを追加できます。骨 mvc レジストリに保存されます。
メイン構成/db.phpでデフォルトのDB資格情報を設定し、サブディレクトリで環境固有の構成を設定します
' db ' => array (
' host ' => ' 127.0.0.1 ' ,
' database ' => ' bone ' ,
' user ' => ' leChuck ' ,
' pass ' => ' bigWh00p ' ,
),その後、YERコントローラーでは、あなたがたは次のように言うことでPDO接続を取得できます。
$ this -> getDbAdapter ();骨は、さまざまな場所への翻訳をサポートします。翻訳ファイル(getText .poおよび.mo )は、 data/translationsのサブディレクトリの下に、 data/translations/en_GB/en_GB.poに配置する必要があります。デフォルトのロケールとサポートされているロケールの配列を設定できます。
<?php
use Zend I18n Translator Loader Gettext ;
return [
' i18n ' => [
' translations_dir ' => ' data/translations ' ,
' type ' => Gettext::class,
' default_locale ' => ' en_PI ' ,
' supported_locales ' => [ ' en_PI ' , ' en_GB ' , ' nl_BE ' , ' fr_BE ' ],
],
];翻訳者を使用するには、電話をかけることができます。翻訳者を使用するには、単に電話することができます。
<?php
// from a controller:
$ this -> getTranslator ()-> translate ( ' placeholder.string ' );
// to set locale
$ this -> getTranslator ()-> setLocale ( $ locale );
// from a view file:
$ this -> t ( ' placeholder ' );BoneはMonolog/Monologを使用し、ログはデータ/logsに記載されています。
<?php
return [
' log ' => [
' channels ' => [
' default ' => ' data/logs/default_log ' ,
],
],
];コントローラーでロガーを使用するには:
$ this -> getLog ()-> debug ( $ message ) // or error(), etc, see PSR-3 BoneはZend Mailを使用します。メールクライアントを構成するには、構成をドロップするだけです(Zend Mail Docsを参照)
<?php
return [
' mail ' => [
' name ' => ' 127.0.0.1 ' ,
' host ' => ' localhost ' ,
' port ' => 25 ,
// 'connection_class' => 'login', // plain, login, crammd5
// 'connection_config' => [
// 'username' => 'user',
// 'password' => 'pass',
// ],
],
];Boneが提供するDockerボックスを使用している場合は、自由に使える素晴らしいメールホッグもあります。 Awesome.scot:8025を参照すると、すべての電子メールの受信トレイが表示されるため、開発メールが実際の世界に到達することを心配する必要はありません。
モジュールはsrc/フォルダーで作成できます。デフォルトのモジュールはBoneAppAppPackageです。モジュールはconfig/packages.phpに追加することで有効になります。ベンダーパッケージは、Composerを介してインストールし、同じ方法で有効にすることもできます。
少なくともモジュールはBarnacleRegistrationInterfaceを実装し、それがルートを含むMVCモジュールの場合、 BoneRouterRouterConfigInterfaceも実装する必要があります。実装する4つの方法があります。
hasEntityPath(): bool 、モジュールがDoctrineエンティティを使用している場合、Trueを返します( delboy1978uk/bone-doctrineパッケージが必要です)getEntityPath(): string 、trueを返す場合、これはエンティティクラスが存在するフォルダーです。addToContainer(Container $c)addRoutes(Container $c, Router $router): Router 、以下で説明しますクラス用の工場を作成し、その他のアプリの他の場所で必要な任意の任意のものを初期化することができます。例として、コントローラーのクラスはビューエンジンを注入することを希望する場合があるため、メソッドでは以下を追加します。
$ c [MyController::class] = $ c -> factory ( function ( Container $ c ) {
$ view = $ c -> get (PlatesEngine::class);
return new MyController ( $ view );
});依存関係噴射コンテナは、 delboy1978uk/barnacleであり、本質的に浸透し、PSR-11を実装しています。
Bone MVCは、PSR-15ミドルウェアライブラリであるleague/routeを使用しています。パッケージにルートが追加されています。
/**
* @param Container $c
* @param Router $router
* @return Router
*/
public function addRoutes ( Container $ c , Router $ router ): Router
{
$ router -> map ( ' GET ' , ' / ' , [IndexController::class, ' indexAction ' ]);
$ router -> map ( ' GET ' , ' /learn ' , [IndexController::class, ' learnAction ' ]);
return $ router ;
}ルーターの使用に関する詳細については、ドキュメントを参照してください
アバストイ!私たちは、Th 'Cap'n(delboy1978uk)によるいくつかの追加のLibsを使用します。
delboy1978uk/cdn
delboy1978uk/form
delboy1978uk/generator
delboy1978uk/image
delboy1978uk/session
cdn libをfer、yeはDelCdnを使用してjavascriptとcssをすばやくエコーできます。App AppViewlayoutsbonemvc.php fer fer ferを参照してください。
CDN LIBの一部として提供されるDelIconおよびDelCssを使用してください。
あなたがたはカスタムブートストラップの準備ができているフォームを作成できますdelboy1978uk/form 、githubページの詳細を参照してください。
あなたがたはすぐに新しいモジュールを使用することができます 'ジェネレーターCLIコマンド。
あなたがたは、 DelImageクラスで、gd php関数を使用して画像を操作できます。
あなたがたはセッション変数を設定することができますDelSessionManagerを使用できます。情報についてはGithubを参照してください。