说明
完整的高质量扩展包推荐列表,请前往:下载量最高 100 个 Laravel 扩展包推荐
文章概览
- 安装;
- 代码示例;
安装
1). 使用 Composer 安装该扩展包:
composer require laracasts/generators --dev
2). 添加 Service Provider
一般情况下,你只需要在本地开发时才需要用到 generaters 扩展包,因此没必要去更新
config/app.php
文件中用于生产环境的 providers
数组. 更好的做法是,在 app/Providers/AppServiceProvider.php
中添加如下代码:public function register()
{
if ($this->app->environment() == 'local') {
$this->app->register('Laracasts\Generators\GeneratorsServiceProvider');
}
}
3). 运行 Artisan
这时候在命令行下运行
php artisan
可看到比之前多了些可操作的命令行:
至此安装成功。
代码实例
创建新的数据库表
运行以下命令行:
php artisan make:migration:schema create_users_table --schema="username:string, email:string:unique"
将会生成:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function(Blueprint $table) {
$table->increments('id');
$table->string('username');
$table->string('email')->unique();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
--schema="username:string, email:string:unique"
中携带的参数需要参照以下规范:COLUMN_NAME:COLUMN_TYPE
可以清晰的看到 generators 自动帮我们生成了 users 表的 username 和 email 字段。
新增或删除数据库表字段
当命令行中出现 "remove" 或 "add" 关键词时,将会 "移除" 或 "新增" 数据库表字段。
以下是从 "posts" 表中删除 "user_id" 字段的实例
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class RemoveUserIdFromPostsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('posts', function(Blueprint $table) {
$table->dropColumn('user_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('posts', function(Blueprint $table) {
$table->integer('user_id');
});
}
}
下面提供一些其它命令行示例,有兴趣的可以自己尝试使用下:
php artisan make:migration:schema create_posts_table
php artisan make:migration:schema create_posts_table --schema="title:string, body:text, excerpt:string:nullable"
php artisan make:migration:schema remove_excerpt_from_posts_table --schema="excerpt:string:nullable"
每次当我们新建 migration 时,往往会接着创建相对应的 model,但使用 generators 创建新的 migration 时,将会默认帮我们创建好 model. 这就意味着,当我们运行以下命令时:
php artisan make:migration:schema create_dogs_table --schema="name:string"
将会得到 dogs 的 migration 和 model。如果不想要自动生成 model,可使用
--model=false
参数。
更多代码示例和说明可查看 Laravel-5-Generators-Extended
全文完。
reference : https://phphub.org/topics/2535
沒有留言:
張貼留言