composer create-project --prefer-dist laravel/laravel 專案名 "6.*"
裝完, .env 檔也建好了, key 也建好了。
如果沒有 key ,自行下指定 php artisan key:generate
二、修改設定檔
2.1 設定
修改 config/app.php
...
'timezone' => 'Asia/Taipei',
'locale' => 'zh-TW',
'fallback_locale' => 'zh-TW',
...
2.2 語系
https://github.com/caouecs/Laravel-lang
下載 zh-TW 至 resourses/lag/
三、變更目錄權限
sudo chmod 777 -R storage/ bootstrap/cache/
或是指定給 apache
四、apache 設定
<VirtualHost *:80>
ServerName 專案網址
DocumentRoot /var/www/html/專案名/public
<Directory "/var/www/html/專案名/public/">
Options -Indexes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
六、資料庫設定
6.1 建立一個資料庫,如 testDB
6.2 修改 .env 檔
...
DB_DATABASE=testDB
DB_USERNAME=帳號
DB_PASSWORD=密碼
...七、使用者認證
7.1 增加路由及視圖
composer require laravel/ui "1.*"
php artisan ui vue --auth
上方多了 LOGIN 及 REGISTER
7.2 裝好之後,執行
npm install && npm run dev
7.3 修改 route/web.php
少了一個路由
Route::get('home', 'HomeController@index');
八、更改為使用 username 登入
8.1 改 database/migrations/2014_10_12_000000_create_users_table.php
...
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('username')->unique();
$table->string('password');
$table->tinyInteger('admin')->nullable();//管理者
$table->rememberToken();
$table->timestamps();
...
8.2 更改 app/User.php 增加兩位欄位
...
protected $fillable = [
'name', 'email', 'username', 'password', 'admin',
];
...
8.2 改 app/Htpp/Controllers/Auth/LoginController
...
public function username()
{
return 'username';
}
...
8.3 改 resources/views/auth/login.blade.php
8.4 改 resources/views/auth/register.blade.php
九、更改有 admin 的功能
增加一個 middleware
php artisan make:middleware AdminMiddleware
***
public function handle($request, Closure $next,$guard = null)
{
if (Auth::guard($guard)->check() && Auth::user()->admin == 1) {
return $next($request);
}else{
return redirect()->back();
}
}
***
7.3 修改 route/web.php
少了一個路由
Route::get('home', 'HomeController@index');
八、更改為使用 username 登入
8.1 改 database/migrations/2014_10_12_000000_create_users_table.php
...
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('username')->unique();
$table->string('password');
$table->tinyInteger('admin')->nullable();//管理者
$table->rememberToken();
$table->timestamps();
...
8.2 更改 app/User.php 增加兩位欄位
...
protected $fillable = [
'name', 'email', 'username', 'password', 'admin',
];
...
8.2 改 app/Htpp/Controllers/Auth/LoginController
...
public function username()
{
return 'username';
}
...
8.3 改 resources/views/auth/login.blade.php
8.4 改 resources/views/auth/register.blade.php
九、更改有 admin 的功能
增加一個 middleware
php artisan make:middleware AdminMiddleware
***
public function handle($request, Closure $next,$guard = null)
{
if (Auth::guard($guard)->check() && Auth::user()->admin == 1) {
return $next($request);
}else{
return redirect()->back();
}
}
***
沒有留言:
張貼留言