ホームページ  >  記事  >  PHPフレームワーク  >  PHP の laravel フレームワークに関する 2 つのヒントを共有する

PHP の laravel フレームワークに関する 2 つのヒントを共有する

silencement
silencement転載
2019-11-25 15:28:382934ブラウズ

PHP の laravel フレームワークに関する 2 つのヒントを共有する

私はPHPの開発フレームワークとしてLaravelを長らく使ってきましたが、公式ドキュメントに載っていない箇所もあり、たまに忘れてしまいます。最近簡単な整理をしてメモを取りました。

1. Route::controller ルートの名前付け:

Route::controller を使用すると、ルートのカスタマイズの多くの作業を軽減できますが、使用する特定のルートに名前を付ける必要がある場合があります。 Route::controller メソッドは、コントローラー内のすべてのメソッドのルートをバッチで指定します。これはどのように名前を付けるべきですか? controller($uri, $controller, $names = array()) の 3 番目のパラメータを使用できます。これは配列です。配列のキーはメソッドで、配列の値は名前です。

コードは次のとおりです:

// 该函数的签名:
public function controller($uri, $controller, $names = array())
 
// 不命名一般使用:
Route::controller('admin', 'AdminController');
 
// 需要对其中的部分方法命名的话:
Route::controller('admin', 'AdminController', array(
    'getIndex' => 'admin.index',
    'getLogin' => 'admin.login',
    'postLogin' => 'admin.login'
  ));

laravel ビデオ チュートリアル 」を学習することをお勧めします

2. 現在の動作環境に基づいて決定します。システム変数に関する

ローカル環境かどうかを判断するシステムのデフォルトの方法は、「ローカル」配列でローカル環境としてホスト名のセットを指定することです。たとえば、オフィスで開発している場合は、パソコンやMacBookの場合、2つのホスト名を使用する必要があり、すべてを書き留めるのは非常に面倒だと思います。 $_SERVER['LARAVEL_ENV'] に基づいて判断するように変更しました。これにより、すべての開発マシンで 'LARAVEL_ENV' の環境変数を 'local' の値で定義できるようになり、開発マシンが自動的に 'ローカル」環境、その他の場合は「実稼働」環境。

コードは次のとおりです:

// 默认的写法是根据主机名判断是否本地环境
$env = $app->detectEnvironment(array(
    'local' => array('homestead');
));
// 修改为先判断系统变量是否指定,没有才判断主机名
$env = $app->detectEnvironment(function(){
    $_env = getenv('LARAVEL_ENV') ? getenv('LARAVEL_ENV') : array(
      'local' => array('homestead')
    );
    return $_env;
});
// 这实际是去读取 $_SERVER['LARAVEL_ENV'] 的值
// 在 Apache 中,可以用 SetEnv 设置,
// 在 Nginx 中,可以用 fastcgi_param 设置

以上がPHP の laravel フレームワークに関する 2 つのヒントを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwww.word666.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。