jumilla / laravel-erb2blade by jumilla

convert .*.erb to .blade.php
150
4
2
Package Data
Maintainer Username: jumilla
Maintainer Contact: fumio@jumilla.me (Fumio Furukawa)
Package Create Date: 2014-06-18
Package Last Update: 2015-07-18
Language: PHP
License: MIT
Last Refreshed: 2024-12-22 03:09:57
Package Statistics
Total Downloads: 150
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 4
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

erb2blade

機能

  • RailsのテキストテンプレートErbファイル(.*.erb)を、Laravel4のビューテンプレートBladeファイル(.blade.php)に変換します。
  • Artisanコマンドview:erb2bladeで変換できます。

対応erbディレクティブ

  • <%# ... %> => {{-- --}}
  • <%= render ... %> => @include (...)
  • <%= ... %> => {{ }}
  • <% if statement %> => @if (statement)
  • <% unless statement %> => @if (!(statement))
  • <% while statement do %> => @while (statement)
  • <% statement.each do |value| %> => @foreach (statement as $value)
  • <% statement.each_with_index do |value, key| %> => @foreach (statement as $key => $value)
  • <% case statement %> => <?php switch (statement): ?>
  • <% when statement %> => <?php case statement: ?>
  • <% else %> => @else
  • <% elsif %> => @elseif
  • <% end %> => @end?
  • <% ... %> => <?php ... ?>

インストール方法

composer.jsonファイルを編集します。 行末のカンマはJSON記法に合わせて設定してください。

Laravel 5

	"require": [
		"laravel/framework": "5.1.*",
		...
		↓追加する
		"jumilla/erb2blade": "~2.0"
	],

Laravel 4

	"require": [
		"laravel/framework": "4.2.*",
		...
		↓追加する
		"jumilla/erb2blade": "~1.0"
	],

以下のコマンドを実行して、Laravel Extension Packをセットアップしてください。

$ composer update

もしくは、

$ php composer.phar update

app/config/app.configファイルを編集します。

	`providers` => [
		`Illuminate\Foundation\Providers\ArtisanServiceProvider`,
		...
		↓追加する
		`Jumilla\Erb2Blade\ServiceProvider`,
	],

コマンド

php artisan view:erb2blade

app/viewsディレクトリ下にある全ての.*.erbファイルを、.blade.phpファイルに変換します。

注意

  • <% %>ディレクティブの中の変数までは見ていません。$を付けるなどして手動で変換してください。
  • Rubyのendキーワードは、if, unless, case, while, until, for の制御構文の終端シンボルです。@end?に変換するので手動で変換してください。
  • Rubyのcase/when/endブロックの変換は不完全です。@end?の部分を <?php endswitch; ?>に置き換えてください。

ライセンス

MIT

著者

Fumio Furukawa (fumio@jumilla.me)