01 Laravel项目初始化(V5.7.*)
1、安装laravel
语法:composer create-project laravel/laravel --prefer-dist 目录 版本
composer create-project laravel/laravel --prefer-dist blog 6.*
composer create-project laravel/laravel --prefer-dist ./ 5.7.*
./代表当前目录
--prefer-dist强制使用压缩包,而不是克隆源代码
2、建立数据库并配置.env文件
项目目录.env文件
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=blog DB_USERNAME=root DB_PASSWORD=root
3、设置网站本地语言包laravl-lang
本案例语言包:overtrue/laravel-lang - Packagist
知乎安装说明:laravel lang语言拓展包安装过程 - 知乎 (zhihu.com)
Larave社区参考:Laravel 6.0 安装 Laravel-Lang 方式有更新 | Laravel China 社区 (learnku.com)
Laravel version | Composer command |
---|---|
Laravel 7.x-8.x | composer require overtrue/laravel-lang:~5.0 |
Laravel 6.x | composer require overtrue/laravel-lang:~4.0 |
Laravel 5.8 | composer require overtrue/laravel-lang:~3.0 |
Laravel 5.1-5.7 | composer require overtrue/laravel-lang:~2.0 |
Laravel 5 | composer require overtrue/laravel-lang:~1.0 |
//5.1~5.7安装
composer require overtrue/laravel-lang:~2.0
Illuminate\Translation\TranslationServiceProvider::class, //替换为: Overtrue\LaravelLang\TranslationServiceProvider::class, //修改项目语言 `config/app.php`: 'locale' => 'zh-CN', //和正常使用一样,你如果需要额外添加语言项,请在 `resources/lang/zh-CN/` 下建立你自己的文件即可,也可以建立同样的文件来替换掉默认的语言部分。 //将翻译文件拷贝到你的项目 `resources/lang/` 目录下: php artisan vendor:publish --provider="Overtrue\LaravelLang\TranslationServiceProvider" --tag=resouece
4、修改项目时区
config/app.php文件,timezone值可选Aisa/shanghai Aisa/chongqing PRC
5、清理项目文件
6、关闭mysql严格模式
config/database.php将strict设置为false
7、安装debugbar工具条(可选)
条件:PHP版本>7.0
https://packagist.org/explore/
debugbar:barryvdh/laravel-debugbar - Packagist
最新版本只支持larave6以上的版本,可以在版本列表中查找支持laravel5.7版本的,安装的时候后面追加版本号即可
安装并开启debug
//下载安装 composer require barryvdh/laravel-debugbar --dev 3.4.0 //添加发布者 Barryvdh\Debugbar\ServiceProvider::class, //设置别名 'Debugbar' => Barryvdh\Debugbar\Facade::class, //发布 php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
附加:创建路由和控制器
前台路由
Route::get('/', function () { return redirect('/blog'); }); Route::get('/blog', 'BlogController@index')->name('blog.home'); Route::get('/blog/{slug}', 'BlogController@showPost')->name('blog.detail');
后台路由
// 后台路由 Route::get('/admin', function () { return redirect('/admin/post'); }); Route::middleware('auth')->namespace('Admin')->group(function () { Route::resource('admin/post', 'PostController'); Route::resource('admin/tag', 'TagController'); Route::get('admin/upload', 'UploadController@index'); }); // 登录退出 Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('/login', 'Auth\LoginController@login'); Route::get('/logout', 'Auth\LoginController@logout')->name('logout');