程序员人生 网站导航

cakephp bake

栏目:CakePHP时间:2014-09-19 22:22:45

cake php官网:http://cakephp.org/

使用bake生成代码.

1:首先你要把数据库建好,例如我们使用PowerDesigner把数据库设计好,导出sql语句,在mysql中创建数据库tfss,创建两个简单的表(特别需要注意表名以及外键的命名,请参考cakephp的命名规范):
   drop table if exists admingroups;
   /*==============================================================*/
   /* Table: admingroups                                           */
   /*==============================================================*/
   create table admingroups
   (
       id                   int not null auto_increment comment '管理组ID',
       ac_user              int not null default 1 comment '允许创建用户(0: false ; 1: trure)',
       ac_class             int not null default 1 comment '允许创建班级组别(0: false ; 1: trure)',
       primary key (id)
   );
   alter table admingroups comment '管理组表';

   drop table if exists usergroups;
   /*==============================================================*/
   /* Table: usergroups                                            */
   /*==============================================================*/
   create table usergroups
   (
       id                   int not null auto_increment comment '用户组ID',
       admingroup_id        int not null default 0 comment '用户组类型1:学生;2:校长;3:老师)',
       group_name           varchar(50) not null default '' comment '用户组名称(管理组为学生的:中1~中6总共6个级别)',
       user_count           int not null default 0 comment '用户数量',
       primary key (id)
   );
   alter table usergroups comment '用户组表';

2: 首先要将php的php.exe加入环境变量中,例如我的php安装在E:workServerPHPCore下,将该路径加入到path中

3: 在命令行里面执行如下命令:php cakephp的bake文件路径 bake
   例如你的cakephp解压文件全部放在
   “E:/work/PHPPro/CakePHPTest/”目录下
   那么则在命令行执行: php E:/work/PHPPro/CakePHPTest/lib/Cake/Console/cake.php bake

   1)  首先要知道相关命令:
    [D]atabase Configuration
    [M]odel
    [V]iew
    [C]ontroller
    [P]roject
    [F]ixture
    [T]est case
    [Q]uit


   2):执行了以上命令,开始配置数据库
   Welcome to CakePHP v2.1.0 Console
   ---------------------------------------------------------------
   App : app
   Path: E:workPHPProCakePHPTestapp
   ---------------------------------------------------------------
   Your database configuration was not found. Take a moment to create one.
   ---------------------------------------------------------------

   ---------------------------------------------------------------
   Database Configuration:
   ---------------------------------------------------------------
   Name:
   [default] > default
   Datasource:(Mysql/Postgres/Sqlite/Sqlserver)
   [Mysql] > mysql
   Persistent Connection? (y/n)
   [n] > n
   Database Host:
   [localhost] > localhost
   Port?
   [n] > 3306
   User:
   [root] > root
   Password:
   > 000000
   Database Name:
   [cake] > tfss
   Table Prefix?
   [n] > n
   Table encoding?
   [n] > n

    ---------------------------------------------------------------
    The following database configuration will be created:
    ---------------------------------------------------------------
    Name:         default
    Driver:       mysql
    Persistent:   false
    Host:         localhost
    Port:         3306
    User:         root
    Pass:         ****
    Database:     tfss
    ---------------------------------------------------------------
    Look okay? (y/n)
    [y] > y
    Do you wish to add another database configuration?
    [n] > n

    Creating file E:workPHPProCakePHPTestappConfigdatabase.php
    Wrote 'E:workPHPProCakePHPTestappConfigdatabase.php'

    3)使用bake all生成m,v,c
    我们在命令行敲入: php E:/work/PHPPro/CakePHPTest/lib/Cake/Console/cake.php bake all
    执行如下:

    Welcome to CakePHP v2.1.0 Console
    ---------------------------------------------------------------
    App : app
    Path: E:workPHPProCakePHPTestapp
    ---------------------------------------------------------------
    Bake All
    ---------------------------------------------------------------
    Possible Models based on your current database:    
    1. Admingroup
    2. Usergroup
    Enter a number from the list above,
    type in the name of another model, or 'q' to exit
    [q] > 1

    Baking model class for Admingroup...

    Creating file E:workPHPProCakePHPTestappModelAdmingroup.php
    Wrote `E:workPHPProCakePHPTestappModelAdmingroup.php`
    PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n)
    [y] > n

    Baking controller class for Admingroups...

    Creating file E:workPHPProCakePHPTestappControllerAdmingroupsController.php
    Wrote `E:workPHPProCakePHPTestappControllerAdmingroupsController.php`
    PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n)
    [y] > n

    Baking `index` view file...

    Creating file E:workPHPProCakePHPTestappViewAdmingroupsindex.ctp
    Wrote `E:workPHPProCakePHPTestappViewAdmingroupsindex.ctp`

    Baking `view` view file...

    Creating file E:workPHPProCakePHPTestappViewAdmingroupsview.ctp
    Wrote `E:workPHPProCakePHPTestappViewAdmingroupsview.ctp`

    Baking `add` view file...

    Creating file E:workPHPProCakePHPTestappViewAdmingroupsadd.ctp
    Wrote `E:workPHPProCakePHPTestappViewAdmingroupsadd.ctp`

    Baking `edit` view file...

    Creating file E:workPHPProCakePHPTestappViewAdmingroupsedit.ctp
    Wrote `E:workPHPProCakePHPTestappViewAdmingroupsedit.ctp`

    Bake All complete

    4)关于.ctp模板文件
    如果使用zend studio是无法打开.ctp文件的,那么我就增加后缀名吧
    window -> Preferences -> General -> Content Types -> PHP Content type  添加*.ctp后缀
    添加文件关联
    window -> Preferences -> General -> Editor -> File Associations 添加关联

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐