2016-12-24 3 views
1

My機能は、このようなものです:ここで私のカスタム関数をビュー(laravel 5.3)にアクセスするように配置しましたか?

{{ romanic_number(2) }}

結果:私は私のカスタム関数を置くII

私はビューにしたい

function romanic_number($integer, $upcase = true) 
{ 
    $table = array('M'=>1000, 'CM'=>900, 'D'=>500, 'CD'=>400, 'C'=>100, 'XC'=>90, 'L'=>50, 'XL'=>40, 'X'=>10, 'IX'=>9, 'V'=>5, 'IV'=>4, 'I'=>1); 
    $return = ''; 
    while($integer > 0) 
    { 
     foreach($table as $rom=>$arb) 
     { 
      if($integer >= $arb) 
      { 
       $integer -= $arb; 
       $return .= $rom; 
       break; 
      } 
     } 
    } 

    return $return; 
} 

、私は次のようにアクセスすることができますビューでアクセスできますか?

私は、コントローラに私のカスタム関数を入れてみてください、私がフォルダアプリでフォルダヘルパーを作る

UPDATEが失敗しています。私は作曲の "アプリ/ヘルパー/ helper.php" を追加

<?php 

if (! function_exists('romanic_number')) 
{ 
    function romanic_number($integer, $upcase = true) 
    { 
     ... 

     return $return; 
    } 
} 

:それから私は、フォルダヘルパーのファイルhelper.php(mysystem /アプリ/ヘルパー/ helper.php)

私はこれを置くを作ります。このようなJSON:

"autoload": { 
    "psr-4": { 
     "Illuminate\\Support\\": "" 
    }, 
    "files": [ 
     "helpers.php", 
     "app/Helpers/helper.php" 
    ] 
}, 

その後、私はcomposer dump-autoload

このようなエラーが存在して実行します。

Call to undefined function romanic_number() (View: C:\xampp\htdocs... 

答えて

2

あなたがcreate custom helpers.php file、そこにすべてのヘルパーを定義することができ

"autoload": { 
    .... 
    "files": [ 
     "app/someFolder/helpers.php" 
    ] 
}, 
+0

正しいパスを使用しているかどうかを確認し、 'composer dumpauto'コマンドを実行してください。 –

+0

それは同じです。それは働いていない –

+0

ちょうどチェックされ、私のために働く。 'composer.json'とファイルを関数で表示してください。 –

1

独自のカスタムヘルパーを作成できます。そこ&フォルダapp/Helpershelpers.phpという名前のファイルを作成します(最初のあなたはHelpersフォルダを作成する必要があります)、そのファイル内のすべての機能を置く

"autoload": { 
     ... 
     "psr-4": { 
      "App\\": "app/" 
     }, 
     "files" : [ 
      "app/CustomHelper.php" 
      ... 
     ] 
} 
+0

@mosestohあなたのcomposer.jsonに別の 'helpers.php'があるのはなぜですか?あなたはそれを削除し、 'app/Helpers/helper.php'だけを加えて試してみてください。 –

+0

今、動いています。ありがとうございます –

3

以下のようにcomposer.jsonファイルに含めるあなたの機能をCustomHelper.phpファイルを作成し、追加します。 composer dump-autoloadを行うと、あなたはあなたのビューまたはどこか他のそれを使用することができます次に

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    }, 
    "files": [ 
     "app/Helpers/helper.php", 
    ] 
}, 

次にとしてcomposer.jsonでこのファイルについての作曲を教えてください。

ビューの例:

if (! function_exists('romanic_number')) { 
    function romanic_number($value) 
    { 
     $romanic = ....; 
     return $romanic; 
    } 
} 

をそしてcomposer.jsonのでLaravelはできるのautoloadそれに追加してください:

{{ romanic_number(2) }} 
+0

それは働いています。 –

関連する問題