modules
Laravel アプリにフォルダーを作成しました。これまでのところ 2 つのモジュールがありますが、ここに集中してcore
います。
次のように、Confide と Entrust を使用してユーザー機能を構築しています。
namespace App\Modules\Core;
use Zizaco\Confide\ConfideUser;
use Zizaco\Entrust\HasRole;
class User extends ConfideUser {
use HasRole;
}
および権限:
namespace App\Modules\Core;
use Zizaco\Entrust\EntrustPermission;
class Permission extends EntrustPermission
{
}
および役割:
namespace App\Modules\Core;
use Zizaco\Entrust\EntrustRole;
class Role extends EntrustRole
{
}
私の Composer.json 自動読み込みは次のようになります。
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/modules"
],
"psr-0": {
"App\\Modules\\": "modules/"
}
},
うまくいかなかったので、そこにpsr-0のものを入れました。composer を実行したときの出力 autoload ファイルには有望なエントリが含まれているようですが、まだ機能しません。
データベースが移行されたので、データベースのシード処理を実行しようとしています。私のシードスクリプトは次のとおりです。
use App\Modules\Core\User;
use App\Modules\Core\Role;
use App\Modules\Core\Permission;
class UserTablesSeeder extends Seeder {
public function run()
{
DB::table('users')->insert(array(
'email' => 'xxx',
'first_name' => 'xxx',
'password' => 'xxxx',
'active' => 1
));
$admin = new Role;
$admin->name = 'Admin';
$admin->save();
$manageUsers = new Permission;
$manageUsers->name = 'manage_standard_users';
$manageUsers->display_name = 'Manage Users';
$manageUsers->save();
$admin->perms()->sync(array($manageUsers->id));
$user = User::where('email','=','xxx')->first();
$user->attachRole($admin);
}
}
しかし、実行するphp artisan db:seed
とエラーが発生します。
PHP Fatal error: Class 'Permission' not found in /home/wedding/quincy/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 604
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Permission' not found","file":"\/home\/wedding\/quincy\/vendor\/laravel\/framework\/src\/Illuminate\/Database\/Eloquent\/Model.php","line":604}}
すべての名前空間を取り除けば、すべて問題なく動作しますが、作成しようとしているモジュール性のために、名前空間を保持する必要があると思います。
を実行composer dump-autoload
し、install
psr-0 エントリを追加したときに実行しました。だから私は他に何をする必要があるのか わかりません。私は作曲家に非常に慣れていないので、この時点で何が問題なのかわかりません。
前もって感謝します。