PHP code example of properos / laravel-users
1. Go to this page and download the library: Download properos/laravel-users library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
properos / laravel-users example snippets
use Properos\Users\Database\Seeders\RolesPermissionsTableSeeder;
use Properos\Users\Database\Seeders\UsersTableSeeder;
public function run(): void
{
$this->call([
RolesPermissionsTableSeeder::class,
UsersTableSeeder::class,
]);
}
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => \Properos\Users\Models\User::class,
],
],
Laravel\Socialite\SocialiteServiceProvider::class,
'role' => \Properos\Users\Middlewares\RoleMiddleware::class,
'permission' => \Properos\Users\Middlewares\PermissionMiddleware::class,
'role_or_permission' => \Properos\Users\Middlewares\RoleOrPermissionMiddleware::class,
'facebook' => [
'client_id' => env('FACEBOOK_CLIENT_ID'),
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
'redirect' => env('FACEBOOK_CALLBACK', 'http://your-app.com/auth/facebook/callback')
],
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_CALLBACK', 'http://your-app.com/auth/google/callback')
],
use Properos\Users\Models\User;
use Properos\Users\Models\Role;
use Properos\Users\Models\Permission;
// Get all users
$users = User::all();
// Find user by ID
$user = User::find(1);
// Get user roles
$roles = $user->roles;
// Get user permissions
$permissions = $user->permissions;
use Illuminate\Support\Facades\Route;
Route::get('/admin/dashboard', function(){
return view('be.index');
})->middleware(['auth', 'role:admin']);
Route::get('/admin/users', [UserController::class, 'index'])
->middleware(['auth', 'permission:users.view']);
// Role-based
Route::middleware(['role:admin'])->group(function () {
// Admin only routes
});
// Permission-based
Route::middleware(['permission:users.edit'])->group(function () {
// Users edit only routes
});
// Role OR Permission
Route::middleware(['role_or_permission:super-admin'])->group(function () {
// Routes accessible by super-admin role OR super-admin permission
});
use Properos\Users\Classes\CUser;
$cuser = new CUser();
// Create user
$user = $cuser->create([
'firstname' => 'John',
'lastname' => 'Doe',
'email' => '[email protected] ',
'password' => 'password123',
'avatar' => $uploadedFile // Optional UploadedFile
]);
// Assign role
$cuser->assignRole([
'user_id' => $user->id,
'role_id' => 1
]);
// Assign permission
$cuser->assignPermission([
'user_id' => $user->id,
'permission_id' => 1
]);
// Change password
$cuser->changePassword([
'user_id' => $user->id,
'password' => 'newpassword123',
'password_confirmation' => 'newpassword123'
]);
Properos\Users\UsersServiceProvider::class,
bash
php artisan vendor:publish --provider="Properos\Users\UsersServiceProvider"
bash
php artisan migrate
bash
php artisan db:seed
bash
php artisan migrate:rollback --step=1
# Then check if tables exist and drop them if needed
php artisan migrate