有时候因为公司需要或者接受别人的项目,只能用公司的框架。一些公司自己开发的框架功能并不是那么完备。Laravel和TP你可能比较熟悉,用起来感觉不太舒服。在接下来的文章中,我将介绍简单的PHP框架中集成的实用功能,帮助您更顺利地开发。全副武装的PHP框架-数据迁移全副武装的PHP框架-命令行工具全副武装的PHP框架-任务调度...本文首先介绍数据迁移功能。如果你还在手动修改数据库,建议你看看这篇文章。对数据库的修改也应该像代码一样纳入版本控制。代码升级后,使用命令自动修改数据库。我们可以使用phinx来实现上述功能。安装利用composer导入phinx。composerrequirerobmorgan/phinx在项目目录下创建db/migrations目录,并赋予可写权限。mkdir-pdb/migrationsinitialization会在项目目录下生成phinx.yml文件vendor/bin/phinxinit。接下来可以使用数据迁移来简单介绍一下数据迁移的使用方法。以创建Users表为例,使用命令创建迁移文件phpvendor/bin/phinxcreatecreate_users_table以上命令会在db/migrations目录下生成{timestramp}_create_users_table.php文件。打开文件并编写代码。table('user');$table->addColumn('username','string',array('limit'=>30))->addColumn('password','string',array('limit'=>100))->addColumn('create_at','integer',array('default'=>true))->addColumn('login_at','integer',array('default'=>true))->create();}publicfunctiondown(){$this->dropTable('users');}}up()实现了创建users表、设置字段等操作,dwon()是回滚时执行的操作。这里我们实现删除users表的操作。如果觉得这两个方法写起来太麻烦,可以把up()方法改成change()方法。change()方法可以根据上行逻辑自动识别下行逻辑。table('user');$table->addColumn('username','string',array('limit'=>30))->addColumn('password','string',array('limit'=>100))->addColumn('create_at','integer',array('default'=>true))->addColumn('login_at','integer',array('default'=>true))->create();}}执行迁移命令,会发现数据库中生成了users表。vendor/bin/phinxmigrate执行单步回滚,数据库刚刚生成的users表已经被删除。在vendor/bin/phinx回滚数据填充开发阶段,可以使用phinx的数据填充功能,使用fzaninotto/faker包实现虚假数据填充辅助开发。更详细的phinx用法可以阅读文档。https://tsy12321.gitbooks.io/…
