저는 오랫동안 PHP 개발 프레임워크로 Laravel을 사용해 왔지만, 공식 문서에서 다루지 않은 부분이 있어서 가끔 잊어버리곤 합니다. 최근에 간단한 정리를 하고 메모를 했습니다.
1. Route::controller 경로 이름 지정:
Route::controller를 사용하면 경로 사용자 정의 작업을 많이 줄일 수 있지만 때로는 사용할 특정 경로의 이름을 지정해야 하지만 Route::controller 메서드는 다음과 같습니다. 일괄적으로 지정 컨트롤러의 모든 메소드에 대한 경로 이름을 지정하는 방법은 무엇입니까? 컨트롤러($uri, $controller, $names = array())에서 세 번째 매개변수를 사용할 수 있습니다. 이는 배열의 키가 메소드이고 배열의 값이 이름입니다.
코드는 다음과 같습니다.
// 该函数的签名: 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. 시스템 변수를 기반으로 현재 실행 환경을 결정합니다
로컬인지 여부를 결정하는 시스템의 기본 방법입니다. 환경은 'local' 배열에 값을 지정하는 것입니다. 그룹은 로컬 환경의 호스트 이름으로 사용됩니다. 예를 들어 사무실 컴퓨터나 Macbook에서 개발을 한다면 두 호스트 이름을 모두 적어야 합니다. 이것은 매우 귀찮은 일이라고 생각합니다. $_SERVER['LARAVEL_ENV']를 기준으로 판단하도록 변경하여 모든 개발머신에서 'LARAVEL_ENV' 환경변수를 'local' 값으로 정의할 수 있도록 하여 개발머신이 자동으로 'LARAVEL_ENV'로 인식하도록 변경하였습니다. 로컬' 환경, 다른 경우에는 '프로덕션'입니다.
코드는 다음과 같습니다:
// 默认的写法是根据主机名判断是否本地环境 $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 프레임워크에 대한 두 가지 팁을 공유하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!