Laravel Like Fircess는 YII 2 응용 프로그램 구성 요소를 지원합니다. 당신이 원하는 것 : 단순하고 광범위하며 PHPDOC를 통한 IDE 자동 완료 지원을 통해 실망하지 않을 것입니다.
이 확장을 설치하는 선호하는 방법은 작곡가를 통하는 것입니다.
어느 쪽이든
composer require " sergeymakinen/yii2-facades:^1.0 "또는 추가
"sergeymakinen/yii2-facades" : " ^1.0 " composer.json 파일의 요구 섹션에
기본적으로 모든 일반 YII 2 애플리케이션 구성 요소와 마찬가지로 확장을 설치하고 사용을 시작하지만 더 단순한 구문으로 더 짧은 구문으로 살펴 보겠습니다 (궁금한 경우, sergeymakinenfacades 네임 스페이스 아래에 추상적 인 기본 Facade 있는 모든 기본 외관) : :
전에:
$ random = Yii:: $ app -> security -> generateRandomString ( 128 );후에:
$ random = Security:: generateRandomString ( 128 );전에:
$ users = Yii:: $ app -> db -> createCommand ( ' SELECT * FROM users; ' )-> queryAll ();후에:
$ users = Db:: createCommand ( ' SELECT * FROM users; ' )-> queryAll ();전에:
$ price = Yii:: $ app -> formatter -> asCurrency ( 123456.78 , ' USD ' );후에:
$ price = Formatter:: asCurrency ( 123456.78 , ' USD ' ); 모든 클래스 공공 재산 $foo 액세서를 통해 얻을 수 있습니다.
$ value = YourFacadeName:: getFoo ()그리고 설정 :
YourFacadeName:: setFoo ( $ value )| 이름 | 대면 구성 요소 별칭 | 구성 요소/인터페이스 |
|---|---|---|
Asset | Yii::$app->assetManager | yiiwebAssetManager |
Auth | Yii::$app->auth | yiirbacManagerInterface |
Cache | Yii::$app->cache | yiicachingCache |
Db | Yii::$app->db | yiidbConnection |
Error | Yii::$app->errorHandler | yiiconsoleErrorHandler |
yiiwebErrorHandler | ||
Formatter | Yii::$app->formatter | yiii18nFormatter |
Http | Yii::$app->httpClient | yiihttpclientClient |
I18n | Yii::$app->i18n | yiii18nI18N |
Log | Yii::$app->log | yiilogDispatcher |
Mailer | Yii::$app->mailer | yiiswiftmailerMailer |
Redis | Yii::$app->redis | yiiredisConnection |
Request | Yii::$app->request | yiiconsoleRequest |
yiiwebRequest | ||
Response | Yii::$app->response | yiiconsoleResponse |
yiiwebResponse | ||
Router | Yii::$app->urlManager | yiiwebUrlManager |
Security | Yii::$app->security | yiibaseSecurity |
Session | Yii::$app->session | yiiwebSession |
Url | Yii::$app->urlManager | yiiwebUrlManager |
User | Yii::$app->user | yiiwebUser |
View | Yii::$app->view | yiiwebView |
일부 외관에는 개발을보다 빠르고 우아하게 만들기 위해 유용한 도우미가 포함되어 있습니다.
public static function cache( $ key , $ default , $ duration = 0 , $ dependency = null )값이 캐시되지 않은 경우 제공된 키 또는 지정된 기본값을 사용하여 값을 검색합니다. 값이 캐시에 있지 않으면 캐시됩니다. 기본값도 폐쇄 일 수도 있습니다.
$ users = Cache:: cache ( ' users ' , function () {
return app models Users:: findAll ();
}, 3600 ); public static function get( $ key , $ default = false )제공된 키를 사용하여 값을 검색하고 닫을 수있는 지정된 기본값 또는 지정된 기본값을 반환합니다.
$ options = Cache:: get ( ' options ' , function () {
return [
' option1 ' => false ,
' option2 ' => true
];
}); public static function bare( $ statusCode = 204 , array $ headers = [])옵션 헤더로 빈 응답을 반환합니다.
public function actionCreate ()
{
// ...
return Response:: bare ( 201 );
} public static function html( $ data , array $ headers = [])옵션 헤더로 HTML 응답을 반환합니다.
public function actionIndex ()
{
// ...
return Response:: html ( $ this -> render ( ' index ' ), [
' Cache-Control ' => ' no-cache '
]);
} public static function json( $ data , array $ headers = [])옵션 헤더로 JSON 응답을 반환합니다.
public function actionList ()
{
// ...
return Response:: json (Db:: createCommand ( ' SELECT * FROM users ' )-> all ());
} public static function jsonp( $ data , $ callback = ' callback ' , array $ headers = [])옵션 헤더로 JSONP 응답을 반환합니다.
public function actionApi ( $ callback )
{
// ...
return Response:: jsonp ([
' success ' => true ,
' response ' => $ data
], $ callback );
} public static function raw( $ data , array $ headers = [])옵션 헤더와 함께 "그대로"데이터로 응답을 반환합니다.
public function actionCreate ()
{
// ...
return Response:: raw ( $ binary , [
' Content-Type ' => ' application/octet-stream '
]);
} public static function xml( $ data , array $ headers = [])옵션 헤더로 XML 응답을 반환합니다.
public function actionCreate ()
{
// ...
return Response:: xml ([
' success ' => true ,
' response ' => $ data
]);
} 새로운 외관을 원한다면 빠르고 쉽습니다. 당신이 YourFacadeName Facade를 가져오고 싶다고 상상해보십시오.
class YourFacadeName extends Facade
{
/**
* @inheritdoc
*/
public static function getFacadeComponentId ()
{
return ' yourFacadeComponentName ' ; // Yii::$app->yourFacadeComponentName
}
}그런 다음 전화 할 때마다
YourFacadeName:: hello ( ' world ' );그것은 다음과 같이 실행됩니다
Yii:: $ app -> get ( ' yourFacadeComponentName ' )-> hello ( ' world ' );