"Laravel 커스텀 헬퍼 함수 추가"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 10개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;Best practices for custom helpers on Laravel 5
;Best practices for custom helpers on Laravel 5
;Laravel 커스텀 헬퍼 함수 추가
;Laravel 커스텀 헬퍼 함수 추가
* 헬퍼 함수는 아무데서나 사용할 수 있어 매우 편리하다.
* 단, 헬퍼 함수는 항상<ref>모든 HTTP 요청에 대해</ref> 적재되어 부담이 될 수 있으므로 불필요하게 많이 사용하는 것은 지양하자.<ref>헬퍼 함수의 대안으로는 [[정적 클래스]] 또는 [[싱글턴 클래스]] 등을 생각해볼 수 있다.</ref>
* 원래 헬퍼 함수는 [[Illuminate/Support/helpers.php]]에 있는데, 거기에 직접 추가해도 되지만 프레임워크 유지보수 차원에서 직접 수정하지 않는 것이 바람직하다.
* app 폴더에 추가하자.


== app/helpers.php 파일 신규 작성 ==
== app/helpers.php 파일 신규 작성 ==
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# vi app/helpers.php
root@zetawiki:/var/www/laravel# vi app/helpers.php
</source>
</syntaxhighlight>
<source lang='php'>
<syntaxhighlight lang='php'>
function greet() {
function greet() {
return 'Hello, World!';
return 'Hello, World!';
}
}
</source>
</syntaxhighlight>


== composer.json 수정 ==
== composer.json 수정 ==
* composer.json 파일의 autoload 블럭에 추가
* composer.json 파일의 autoload 블럭에 추가
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# vi composer.json
root@zetawiki:/var/www/laravel# vi composer.json
</source>
</syntaxhighlight>
<source lang='json' highlight='9-11'>
<syntaxhighlight lang='json' highlight='9-11'>
... (생략)
... (생략)
"autoload": {
"autoload": {
32번째 줄: 36번째 줄:
},
},
... (생략)
... (생략)
</source>
</syntaxhighlight>


== composer 실행 ==
== composer 실행 ==
* <code>composer dump-autoload</code> 실행
* <code>composer dump-autoload</code> 실행
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/var/www/laravel# composer dump-autoload
root@zetawiki:/var/www/laravel# composer dump-autoload
Generating autoload files
Generating autoload files
</source>
</syntaxhighlight>


== 테스트 ==
== 테스트 ==
* 아무 blade 파일에서나 테스트해보자.
<syntaxhighlight lang='html'>
<div>{{ greet() }}</div>
</syntaxhighlight>
:→ 브라우저에서 Hello, World! 가 잘 나온다...


==같이 보기==
==같이 보기==
* [[Laravel 헬퍼 함수]]
* [[Laravel 헬퍼 함수]]
* [[Illuminate/Support/helpers.php]]


==참고 자료==
==참고==
* http://laravel.io/forum/02-03-2015-best-practices-for-custom-helpers-on-laravel-5
* http://laravel.io/forum/02-03-2015-best-practices-for-custom-helpers-on-laravel-5
* https://laracasts.com/discuss/channels/general-discussion/best-practices-for-custom-helpers-on-laravel-5
* https://laracasts.com/discuss/channels/general-discussion/best-practices-for-custom-helpers-on-laravel-5


[[분류: Laravel]]
[[분류: Laravel]]

2020년 11월 2일 (월) 02:57 기준 최신판

1 개요[ | ]

Best practices for custom helpers on Laravel 5
Laravel 커스텀 헬퍼 함수 추가
  • 헬퍼 함수는 아무데서나 사용할 수 있어 매우 편리하다.
  • 단, 헬퍼 함수는 항상[1] 적재되어 부담이 될 수 있으므로 불필요하게 많이 사용하는 것은 지양하자.[2]
  • 원래 헬퍼 함수는 Illuminate/Support/helpers.php에 있는데, 거기에 직접 추가해도 되지만 프레임워크 유지보수 차원에서 직접 수정하지 않는 것이 바람직하다.
  • app 폴더에 추가하자.

2 app/helpers.php 파일 신규 작성[ | ]

root@zetawiki:/var/www/laravel# vi app/helpers.php
function greet() {
	return 'Hello, World!';
}

3 composer.json 수정[ | ]

  • composer.json 파일의 autoload 블럭에 추가
root@zetawiki:/var/www/laravel# vi composer.json
... (생략)
	"autoload": {
		"classmap": [
			"database"
		],
		"psr-4": {
			"App\\": "app/"
		},
		"files": [
			"app/helpers.php"
		]
	},
... (생략)

4 composer 실행[ | ]

  • composer dump-autoload 실행
root@zetawiki:/var/www/laravel# composer dump-autoload
Generating autoload files

5 테스트[ | ]

  • 아무 blade 파일에서나 테스트해보자.
<div>{{ greet() }}</div>
→ 브라우저에서 Hello, World! 가 잘 나온다...

6 같이 보기[ | ]

7 참고[ | ]

  1. 모든 HTTP 요청에 대해
  2. 헬퍼 함수의 대안으로는 정적 클래스 또는 싱글턴 클래스 등을 생각해볼 수 있다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}