我开发此代码以使用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类。我的错是什么?
答案 0 :(得分:0)
感谢您的回复,我忘了添加
使用IntlDateFormatter;
所以通过添加它来解决未找到的错误。
答案 1 :(得分:0)
您需要导入Class所在的命名空间。
请记住,app\
文件夹是PSR-4加载的,因此,例如,如果您的类在名为IntlDateFormatter.php的文件中定义,则需要将此文件放在app\
的某个位置。然后在您的控制器中导入类:
// in your controller
namespace App\Http\Controllers;
use App\{your class location}\IntlDateFormatter;
答案 2 :(得分:0)
以下是在Laravel中使用自定义类的示例:
<?php
namespace YourProject\Services;
class IntlDateFormatter{
public static function dateFormat(){
/*Do your date formatting here and return desired result*/
}
}
我认为您将此文件保存在app目录中。 接下来在aliases数组中的config / app.php中添加
'IntlDateFormatter' => Artisanian\Services\IntlDateFormatter::class,
这样您就可以轻松调用dateFormat
函数,如下所示:
\IntlDateFormatter::dateFormat();
在您的控制器或视图中。
我希望这有帮助。
祝你好运。