首先 ,我们需要下载最新版本的laravel框架:
composer create-project --prefer-dist laravel/laravel www.zfw.com
在下载完成后可是切换目录到下载完成后的 www.zfw.com 目录下:
cd www.zfw.com
接着,我们可以在框架中安装一个PHPstorm的开发插件,可以使我们的开发更加方便快捷:
composer require barryvdh/laravel-ide-helper
下载完成插件后,使用该命令让我们使用的编辑器更好的支持插件:
php artisan ide-helper:gen
出现上图则为安装成功。
接下来,我们可能在开发时使用的环境为小皮系统,此时需要我们开启
然后我们需要为新生成的框架配置一个新的本地域名,注意!刚下载的框架如果被小皮系统设置域名后,此时的隐藏入口文件内容会消失,需要重新写入入口文件!
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
设置好本地域名之后,我们可以在网站中输入刚设置的本地域名,查看是否可以进入:
框架搭建基本完成,现在开始做填充的配置
此时,我们需要在框架的配置文件中修改框架需要连接的数据库信息,下面的配置信息需要写入在框架根目录的env
文件中:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=wwwzfwcom
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=zfw_
其中database为数据库中的数据库名,username为数据库的账号,password为数据库的密码,prefix为表前缀
接下来,我们使用的数据库工具为Navicat,需要新建数据库:
紧接着,我们需要在框架根目录下的config文件夹中找到一个名为database.php的文件中找到此方法并修改:
'prefix' => env('DB_PREFIX'),
然后我们可以修改框架的本地配置,由于我们使用的laravel框架为国外的开发者搭建,所以我们需要改变框架的本地化配置:
1:更改根目录下app.php中timezone的时区为:
'timezone' => 'PRC',
2:下载中文语言包,放入框架的 根目录->resources->lang 中
首先使用composer下载:
composer require "overtrue/laravel-lang:~3.0"
其次替换config/app.config中的类
将:
Illuminate\Translation\TranslationServiceProvider::class,
替换为:
Overtrue\LaravelLang\TranslationServiceProvider::class,
最后修改config/app.config中的locale:
'locale' => 'zh-CN',
3:将Faker填充类配置修改为:
'faker_locale' => 'zh_CN',
这样基本配置完成,下面开始设置迁移数据表,创建生成模型和迁移文件:
php artisan make:model User -m
接着,在框架中的database/migrations文件夹中找到刚创建的用户表user
在名为up的方法内写入创建数据库的信息:
$table->bigIncrements('id');
// 角色
$table->unsignedInteger('role_id')->default(0)->comment('角色ID');
$table->string('username',100)->comment('账号');
$table->string('truename',50)->default('未知')->comment('真是姓名');
$table->string('password',255)->comment('密码');
//nullable 可以为null
$table->string('email',50)->nullable()->comment('邮箱');
$table->string('phone',15)->default('')->comment('手机号码');
$table->enum('sex',['先生','女士'])->default('先生')->comment('性别');
$table->char('last_ip',15)->default('')->comment('登录IP');
$table->timestamps();
//软删除 生成一字段 deleted_at字段
$table->softDeletes();
然后此时执行迁移文件:
php artisan migrate
此时,可能会发生这样的报错信息
我们需要在app->Providers->AppServiceProvider中的boot中使用
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
这样就可以继续执行迁移命令了
最后,我们开始使用Faker填充数据
创建用户的填充文件
php artisan make:seeder UserSeeder
此时,我们需要在user模型层中使用
protected $guarded = [];
不然,会无法填充数据
接着,我们生成一个数据工厂
php artisan make:factory UserFactory -m Models/User
在UserFactory.php文件中修改填充文件的数据
'username' => $this->faker->userName,
'password' => bcrypt('admin'),
'truename' => $this->faker->name,
//password_hash('admin666')
'email' => $this->faker->unique()->safeEmail,
'phone' => $this->faker->unique()->phoneNumber,
在userseeder.php文件中:
//重置表数据
User::truncate();
User::factory()
//生成100条数据
->count(100)
// ->hasPosts(1)
->create();
//修改id=1用户
User::where('id',1)->update(['username'=>'admin']);
最后在DatabaseSeeder.php中修改总调用
$this->call([
UserSeeder::class
]);
到此,填充完成