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

您需要导入您的 Class 所在的命名空间。

请记住,该app\文件夹已加载 PSR-4,因此,例如,如果您的类定义在名为 IntlDateFormatter.php 的文件中,则需要将此文件放在app\. 然后在您的控制器中导入该类:

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

use App\{your class location}\IntlDateFormatter;
于 2016-02-05T11:03:00.547 回答
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 回答
0

谢谢回复,忘记补充了

使用 IntlDateFormatter;

所以通过添加解决了未找到的错误。

于 2016-02-05T11:01:02.793 回答