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