crisu83/yii-caviar

为Yii的下一代代码生成。

安装: 119

依赖: 2

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 0

类型:yii-extension

0.15.0 2014-05-22 10:23 UTC

This package is auto-updated.

Last update: 2024-08-29 03:26:14 UTC


README

为Yii提供无逻辑模板的代码生成。

与Gii相比

你可能想知道为什么你应该使用Caviar而不是Gii,让我们看看它们之间的区别。

使用Gii的主要缺点是编写模板很麻烦。你有没有看过它的一个模板?如果你看过,你会知道它们很难读懂。比较以下Gii中的模板和Caviar中的相应模板

Caviar使用纯文本(.txt文件)模板,这些模板被编译成PHP文件以实现关注点分离。这意味着所有逻辑都必须包含在生成器中,并且只能将字符串传递给模板。我们不在模板内进行逻辑操作,而是在创建模板数据时在生成器中进行。你可以查看模型生成器示例

信服了?按照以下说明安装Caviar。

安装

安装此扩展的首选方式是通过composer

运行

php composer.phar require --prefer-dist crisu83/yii-caviar "*"

或添加

"crisu83/yii-caviar": "*"

到你的composer.json文件的require部分。

使用

将命令添加到你的控制台应用程序配置中

return array(
  ...
  'commandMap' => array(
    'generate' => array(
      'class' => '\crisu83\yii_caviar\Command',
      'basePath' => '<path-to-project-root>',
    ),
    ...
  ),
);

完成后,你可以用它来生成代码

yiic generate generator [context:]subject [options]

其中 generator 是生成器的名称,context 是你的应用程序名称(例如app),subject 是要生成的项目的名称。

你可以通过运行以下命令查看命令帮助

yiic generate help

或者通过将-t(或--help)追加到你的命令来查看特定生成器的帮助

yiic generate component --help

禁用命名空间

Caviar默认使用命名空间,主要是因为在大规模应用程序中这已被证明是一种良好的实践,但它也允许你轻松地为所有生成器禁用命名空间。

要为所有生成器禁用命名空间,只需将以下内容添加到你的配置中

'generate' => array(
  ...
  'defaultTemplate' => 'noNamespaces',
  'enableNamespaces' => false,
  'templates' => array(
    'noNamespaces' => '<path-to-caviar>/templates/no-namespaces',
  ),
)

花哨的UI

Caviar有一个花哨的UI,以下是几个UI截图。

生成器

以下生成器已经得到支持

  • 组件
  • 配置
  • 控制器
  • 布局
  • 模型
  • 视图
  • Web应用

以下生成器计划包含在第一个版本中

  • 行为
  • CRUD
  • 小部件