さまざまなエンコーディングの文字列を処理する Artisan コマンド ファイルを作成しました。
関数を実装する必要がありました(そしてこれmb_str_pad
を見つけました)。
ヘルパーファイルを作成しましたapp/Library/Helpers/StringHelper.php
:
<?php
if (!function_exists('mb_str_pad')) {
function mb_str_pad() {
:
:
}
}
composer.json
次に、それをファイルに追加しました:
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Library/Helpers/StringHelper.php" // <-- Here
]
},
そして実行しcomposer dump-autoload
ます。
コマンド ( ) を実行しようとすると、次のphp artisan mytasks:generate
エラーが発生します。
Call to undefined function App\Console\Commands\mb_str_pad()
2回目の試行:次
のサービスを追加しようとしました:
php artisan make:provider StringHelperServiceProvider
register()
私が入れた関数で:
require_once app_path('Library/Helpers/StringHelper.php');
そして配列にapp.php
追加されます:providers
App\Providers\StringHelperServiceProvider::class,
しかし、同じエラーが発生します。
=========================== 編集 ======================
それについての良い説明はありませんが、今では同じコードが正常に動作します。
私が行った唯一のことは、Tinker で機能をテストすることでした。
$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> mb_str_pad("Hello", 10);
=> "Hello "
>>> mb_str_pad("Hello", 10, ' ', STR_PAD_LEFT);
=> " Hello"
>>> mb_str_pad("Helló", 10, ' ', STR_PAD_LEFT);
=> " Helló"
>>>
誰かに役立つ場合に備えて、この質問を残します。