安装
要求
在安装之前,Laravel Nova 有些要求,需要你注意一下:
- Composer
- Laravel Framework 5.6+
- Laravel Mix
- Node.js & NPM
安装 Nova
只要购买一份 Nova 许可,你就可以在 Nova 官网的「releases」部分下载一份 Nova 发行版。下载完包含 Nova 源码的 Zip 文件后,需要在你 Laravel 应用的composer.json
文件里用 Composer 的「path」仓库安装它。
首先,将 Nova 发行版压缩包解压到你的应用根目录下的nova
文件夹里。只要解压并放置 Nova 源代码到合适的目录,就应更新composer.json
文件。请将以下配置添加到composer.json
文件中:
"repositories": [
{
"type": "path",
"url": "./nova"
}
],
隐藏文件
当解压 Nova 到
nova
文件夹后,请确认 Nova 的「隐藏」文件(例如.gitignore
文件)也包含在内。
接下来,将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
命令将在你的应用中安装 Nova 的服务提供者,并发布资源文件:
php artisan nova:install
php artisan migrate
运行完以上命令后,请确认App\Providers\NovaServiceProvider
被添加到了你的app.php
配置文件里。如果没有,请手动添加。当然,如果你的应用不使用App
命名空间,你应该按需更新该服务提供者的类名。
默认的App\Nova\User
Nova 资源引用了App\User
模型。如果你的模型放在别的目录或命名空间,请在资源中调整此值:
public static $model = 'App\\Models\\User';
好的!接下来,你可以在浏览器中访问应用的/nova
路径,然后你会看到 Nova 管理面板,其中包含指向本文档各部分的链接。
包的稳定性
如果由于
minimum-stability
的设置导致无法为你的应用安装 Nova,请考虑将minimum-stability
的值设置为dev
、将prefer-stable
的值设置为true
。这将允许为你的应用安装 Nova,同时仍保留优先安装稳定发行版。
授权 Nova
在你的app/Providers/NovaServiceProvider.php
文件中,有一个gate
方法。此授权 gate 控制了 非本地 环境对 Nova 的访问。默认当应用环境是local
时,任何人都可以访问 Nova 面板。你可以按需自由修改此gate
方法,以限制对 Nova 的访问:
/**
* 注册 Nova gate。
*
* 此 gate 决定了谁可以在非本地环境访问 Nova 。
*
* @return void
*/
protected function gate()
{
Gate::define('viewNova', function ($user) {
return in_array($user->email, [
'taylor@laravel.com',
]);
});
}
更新 Nova
要更新你的 Nova 安装版,可以从 Nova 官网下载一份发行版 Zip 文件。下载完后,用此 Zip 文件的内容替换应用根目录下nova
文件夹的内容。在更新完目录内容后,你可以运行composer update
和nova:publish
命令:
composer update
php artisan nova:publish
nova:publish
命令将会重新发布 Nova 的公共资源、配置、视图和语言文件。此命令不会覆盖已存在的配置、视图或语言文件。如果想覆盖已存在的文件,你可以在执行它时使用--force
标志:
php artisan nova:publish --force
报告 Bug
如果你在 Laravel Nova 中发现 Bug,请在 Nova issues 的 GitHub 仓库提交 Issue 。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。