在安裝之前,Laravel Nova 有些要求,需要你注意一下:
只要購買一份 Nova 許可,你就可以在 Nova 官網(wǎng)的「releases」部分下載一份 Nova 發(fā)行版。下載完包含 Nova 源碼的 Zip 文件后,需要在你 Laravel 應(yīng)用的 composer.json
文件里用 Composer 的「path」倉庫安裝它。
首先,將 Nova 發(fā)行版壓縮包解壓到你的應(yīng)用根目錄下的 nova
文件夾里。只要解壓并放置 Nova 源代碼到合適的目錄,就應(yīng)更新 composer.json
文件。請將以下配置添加到 composer.json
文件中:
"repositories": [
{
"type": "path",
"url": "./nova"
}
],
隱藏文件
當(dāng)解壓 Nova 到
nova
文件夾后,請確認(rèn) Nova 的「隱藏」文件(例如.gitignore
文件)也包含在內(nèi)。
接下來,將 laravel/nova
添加到 composer.json
的 require
字段:
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.6.*",
"laravel/nova": "*"
},
修改 composer.json
文件之后,在控制臺終端運行 composer update
命令:
composer update
最后,運行 nova:install
和 migrate
Artisan 命令。nova:install
命令將在你的應(yīng)用中安裝 Nova 的服務(wù)提供者,并發(fā)布資源文件:
php artisan nova:install
php artisan migrate
運行完以上命令后,請確認(rèn) App\Providers\NovaServiceProvider
被添加到了你的 app.php
配置文件里。如果沒有,請手動添加。當(dāng)然,如果你的應(yīng)用不使用 App
命名空間,你應(yīng)該按需更新該服務(wù)提供者的類名。
默認(rèn)的 App\Nova\User
Nova 資源引用了 App\User
模型。如果你的模型放在別的目錄或命名空間,請在資源中調(diào)整此值:
public static $model = 'App\\Models\\User';
好的!接下來,你可以在瀏覽器中訪問應(yīng)用的 /nova
路徑,然后你會看到 Nova 管理面板,其中包含指向本文檔各部分的鏈接。
包的穩(wěn)定性
如果由于
minimum-stability
的設(shè)置導(dǎo)致無法為你的應(yīng)用安裝 Nova,請考慮將minimum-stability
的值設(shè)置為dev
、將prefer-stable
的值設(shè)置為true
。這將允許為你的應(yīng)用安裝 Nova,同時仍保留優(yōu)先安裝穩(wěn)定發(fā)行版。
在你的 app/Providers/NovaServiceProvider.php
文件中,有一個 gate
方法。此授權(quán) gate 控制了 非本地 環(huán)境對 Nova 的訪問。默認(rèn)當(dāng)應(yīng)用環(huán)境是 local
時,任何人都可以訪問 Nova 面板。你可以按需自由修改此 gate
方法,以限制對 Nova 的訪問:
/**
* 注冊 Nova gate。
*
* 此 gate 決定了誰可以在非本地環(huán)境訪問 Nova 。
*
* @return void
*/
protected function gate()
{
Gate::define('viewNova', function ($user) {
return in_array($user->email, [
'taylor@laravel.com',
]);
});
}
要更新你的 Nova 安裝版,可以從 Nova 官網(wǎng)下載一份發(fā)行版 Zip 文件。下載完后,用此 Zip 文件的內(nèi)容替換應(yīng)用根目錄下 nova
文件夾的內(nèi)容。在更新完目錄內(nèi)容后,你可以運行 composer update
和 nova:publish
命令:
composer update
php artisan nova:publish
nova:publish
命令將會重新發(fā)布 Nova 的公共資源、配置、視圖和語言文件。此命令不會覆蓋已存在的配置、視圖或語言文件。如果想覆蓋已存在的文件,你可以在執(zhí)行它時使用 --force
標(biāo)志:
php artisan nova:publish --force
如果你在 Laravel Nova 中發(fā)現(xiàn) Bug,請在 Nova issues 的 GitHub 倉庫提交 Issue 。
更多建議: