Laravel 커스텀 헬퍼 함수 추가

1 개요[ | ]

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

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

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

3 composer.json 수정[ | ]

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

4 composer 실행[ | ]

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

5 테스트[ | ]

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

6 같이 보기[ | ]

7 참고[ | ]

  1. 모든 HTTP 요청에 대해
  2. 헬퍼 함수의 대안으로는 정적 클래스 또는 싱글턴 클래스 등을 생각해볼 수 있다.
  • Laravel
    한국에서 개발되어 나오고 있는 Xpress Engine이나 계시판 중심으로 돌려지고 있는 CMS 과 비교하는 것은 사과와 오렌지를 비교하는 것 같지만 조금은 느리다고 느낄 수 있겠네요. 美村䎛