2

PHPでテヘランの時刻と日付を表示するために、このコードを開発します。

$fmt = new IntlDateFormatter("fa_IR@calendar=persian", IntlDateFormatter::FULL,
    IntlDateFormatter::FULL, 'Asia/Tehran', IntlDateFormatter::TRADITIONAL);

    echo "Date: " . $fmt->format(time()) . "\n";

このコードは正常に動作しますが、Laravel のコントローラーの関数で使用したいと考えています。

ルート:

Route::get('/date', [
'as' => 'date', 'uses' => 'HomeController@date'
]);

コントローラー:

public function date() {
    $fmt = new IntlDateFormatter("fa_IR@calendar=persian", IntlDateFormatter::FULL,
    IntlDateFormatter::FULL, 'Asia/Tehran', IntlDateFormatter::TRADITIONAL);

    echo "Date: " . $fmt->format(time()) . "\n";
}

結果は次のとおりです。

クラス 'App\Http\Controllers\IntlDateFormatter' が見つかりません

LaravelにIntlDateFormatterクラスがないことは知っていますが、ここでphpクラスを使用することを除いて。私の間違いは何ですか?

4

3 に答える 3

1

クラスが存在する名前空間をインポートする必要があります。

フォルダーは PSR-4 で読み込まれることに注意してください。たとえば、クラスがIntlDateFormatter.phpapp\というファイルで定義されている場合は、このファイルを .xml ファイルのどこかに配置する必要がありますapp\。次に、コントローラーでクラスをインポートします。

// in your controller 
namespace App\Http\Controllers;

use App\{your class location}\IntlDateFormatter;
于 2016-02-05T11:03:00.547 に答える
0

返信ありがとうございます、追加するのを忘れていました

IntlDateFormatter を使用します。

そのため、見つからないエラーはそれを追加することで解決しました。

于 2016-02-05T11:01:02.793 に答える
0

以下は、Laravel でカスタム クラスを使用する例です。

<?php
namespace YourProject\Services;
class IntlDateFormatter{
  public static function dateFormat(){
    /*Do your date formatting here and return desired result*/
  }
}

このファイルを app ディレクトリ内に保存すると仮定します。次に、エイリアス配列内の config/app.php に追加します。

'IntlDateFormatter'     => Artisanian\Services\IntlDateFormatter::class,

dateFormatこのようにして、次のように関数を簡単に呼び出すことができます。

\IntlDateFormatter::dateFormat();

コントローラーまたはビューのいずれかで。

これが助けになることを願っています。

幸運を。

于 2016-02-05T11:08:15.797 に答える