标签: code-generation

CodeIgniter表类:从生成的单元格添加链接

我正在使用从我的数据库中提取的数据数组为我自动生成表的表类.

型号:

function get_reports_by_user_id($userid)
{
    return $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
}
Run Code Online (Sandbox Code Playgroud)

控制器:

function index()
{
    echo $this->table->generate($this->mymodel->get_reports_by_user_id('1234'));
}
Run Code Online (Sandbox Code Playgroud)

当我使用它时,控制器最终将移动到视图.这会生成表格,但我想添加一个字段的链接.例如,id允许我链接到该报告的id的数据页面的列.我知道我可以手工输出老式的表格.然后我可以添加我想要的任何链接,但我希望能够尽可能多地使用自动生成.必须有一种方法来做一些像连接表格单元格那样常见的事情.有没有人有任何想法?

编辑:

用户Java PHP主要就在下面.这是使它工作的代码:

function get_reports_by_user_id($userid)
{
    $rows = $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();

    foreach ($rows as $count => $row)
    {
        $rows[$count]['id'] = anchor('report/'.$row['id'],$row['id']);
    }
    return $rows;
}
Run Code Online (Sandbox Code Playgroud)

我只需要用锚文本版本替换原始数组中的值.

anchor code-generation codeigniter

4
推荐指数
1
解决办法
7377
查看次数

T4 vs CodeDom vs Oslo

在我正在使用的应用程序脚手架项目中,我正在尝试决定是否使用Oslo,T4或CodeDom来生成代码.我们的目标是将依赖关系降至最低,并从用户故事中为域驱动设计驱动代码生成.第一步是从用户故事创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序,Word等)中编写他们的故事,并且仍然可以从故事.

到目前为止我所知道的:

  1. CodeDom需要.NET,但只能输出.NET类文件(例如.cs,.vb).难度水平相当高.
  2. T4需要CodeDom和VS Standard +.难度级别相当合理,尤其是T4工具箱.
  3. 奥斯陆很新.我不知道依赖项,但我想你必须至少使用.NET 3.5.我也不确定代码生成能力或添加新语法的复杂性.但是,领域专家可能很容易在Intellipad中编写用户故事.还不确定将Word中的故事转换为MGrammar的简易性.

您使用上述任何工具有什么想法,经验等等.我们希望坚持使用Microsoft或开源工具.

.net t4 code-generation codedom oslo

4
推荐指数
1
解决办法
2331
查看次数

@private是如何实现的?

在Objective-C,我很好奇如何实例变量,如访问控制@private,@protected等来实现.

我曾经考虑过以某种方式生成单独的结构:

@interface Foo {
  int bar;
  @private
  int baz;
  @public
  int qux;
}
Run Code Online (Sandbox Code Playgroud)

=> 一些东西

struct Class_Foo_Protected {
  int bar;
};

struct Class_Foo_Private {
  int baz;
};

struct Class_Foo_Public {
  int qux;
};
Run Code Online (Sandbox Code Playgroud)

但我真的不知道.谁知道这是怎么做到的?

code-generation private language-implementation objective-c

4
推荐指数
1
解决办法
125
查看次数

生成基于php数组的php源代码

我有一个不可修改的功能,需要几秒钟才能完成.该函数返回一个对象数组.结果每天只改变一次.

为了加快速度,我想使用APC缓存结果,但托管服务提供商(共享托管环境)不提供任何内存缓存解决方案(APC,memcache,...).

我找到的唯一解决方案是使用serialize()将数据存储到文件中,然后再将数据反序列化.

如何从数组中生成php源代码?后来我可以简单地打电话

require data.php
Run Code Online (Sandbox Code Playgroud)

将数据导入预定义变量.

谢谢!

更新:存储生成的.html是没有选项,因为输出是用户相关的.

php performance code-generation shared-hosting

4
推荐指数
1
解决办法
2430
查看次数

我应该继续依赖代码生成来生成我的模型和CRUD吗?

当我深入研究Yii时,我现在想知道是否依靠Gii和Giix来生成我的模型和"admin"CRUD可能是一个拐杖而不是一个节省时间的工具.很多时候,在小项目的开始阶段,它可以帮助我更快地开始,让我专注于数据库设计.但是,每当我对表结构或关系进行更改时,我发现自己不得不依赖GiiX来重新生成模型.在我这样做之前,我总是复制我编写的模型部分,以便稍后将其粘贴到更新的模型中.这似乎是一件单调乏味的事情,我现在想知道它是否能节省我任何实际时间.我有几个问题:

  1. 对于Yii用户来说,一旦你做了Yii一段时间,你甚至打扰Gii或GiiX?你是不是因为不再有用而放弃使用它,或者因为它是一个拐杖?您是否正在编写自己的代码生成和脚手架工具?
  2. 对于所有编码人员,您是否认为在学习新语言或框架时应避免使用代码生成工具?

我希望有一种有效的方法可以使用Gii和其他代码生成工具,即使多次更新表结构并使用我自己的代码编写,也没有复制和粘贴,并记录什么是什么.

请让我知道你的想法!

php code-generation crud yii gii

4
推荐指数
1
解决办法
1498
查看次数

用于编写低级代码的箭头化EDSL

通常为Arrows提供的大多数激励示例都显示了如何在Hask之上构建更复杂的计算系统(例如,Kleisli类别的效果,Arrowized FRP等)是否已经完成了使用Arrows编写较低级别的任何工作代码(例如汇编,Javascript)?虽然这可能不完全符合Arrow的标准定义(特别是arr :: (a -> b) -> cat a b),但似乎Arrows形成了某种连接编程的强大基础.

haskell code-generation arrows

4
推荐指数
1
解决办法
233
查看次数

Sitecore TDS代码生成错误

我试图通过遵循GlassTutorial24 TDS版本:5.1.0.3,visual studio 2012 从TDS代码生成生成代码.

生成的类只有"ErrorGeneratingOutput".

我的项目属性如下: TDS项目属性

编辑1:

构建时出错:

错误1编译转换:无法找到元数据文件'HedgehogDevelopment.CodeGeneration.Extensions.dll'xxx.TDS.Master \代码生成模板\ glassv3header.tt

错误2编译转换:类,结构或接口成员声明中的令牌"this"无效xxx.TDS.Master \代码生成模板\ GlassV3Item.tt

错误3编译转换:方法必须具有返回类型xxx.TDS.Master \代码生成模板\ GlassV3Item.tt

错误4编译转换:键入expected xxx.TDS.Master\Code Generation Templates\GlassV3Item.tt

code-generation sitecore glass-mapper sitecore7.5

4
推荐指数
1
解决办法
2819
查看次数

从Sitecore TDS代码生成中排除模板

有没有一种干净的方法可以从TDS代码生成中排除Sitecore模板?我们必须将所有Sitecore模板添加到TDS,因为我们与其他开发人员交换它们.

code-generation sitecore tds glass-mapper

4
推荐指数
1
解决办法
377
查看次数

如何从IntelliJ getter/setter生成中删除`get`和`set`

鉴于我有一个像POJO:

public class Person {
    private String name;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能的IntelliJ生成getter和setter,而没有前缀get和set?

要得到这个:

public String name() {
    return this.name;
}

public void name(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

而不是这个:

public String getName() {
    return this.name;
}

public void setName(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

java code-generation intellij-idea android-studio

4
推荐指数
1
解决办法
1625
查看次数

C#中的表达式树

我第一次探索表达树.我有一些基本的疑虑.

基本上,表达式只接受lambda表达式.然后,我们可以将lambda表达式Compile()编译为MSIL代码,然后返回一个通用委托.我们可以按原样调用返回的委托.我的理解是否正确?

如果它在这里是我想要实现的: ((10*5)+(9/4))

BinaryExpression b1 = Expression.MakeBinary(ExpressionType.Multiply, Expression.Constant(10), Expression.Constant(5));//(10*5)
BinaryExpression b2 = Expression.MakeBinary(ExpressionType.Divide, Expression.Constant(9), Expression.Constant(4));//(9/4)
BinaryExpression b4 = Expression.MakeBinary(ExpressionType.Add, b1, b2);//((10*5)+(9/4))
Run Code Online (Sandbox Code Playgroud)

所以在这一点上我们已经做到了lambda expression body.现在把它变成full lambda expression我们需要打电话的

Console.WriteLine(Expression.Lambda<Func<int, int>>(b4).Compile());
Run Code Online (Sandbox Code Playgroud)

我没有得到这一部分.这也行不通.

为什么这样Func<int,int>?

是否内部表达式只将int作为param,整个表达式将返回一个int?

显然这不起作用.生成的lambda是怎样的?

我正在全面了解情况?如何使这项工作?

.net c# lambda code-generation expression-trees

4
推荐指数
1
解决办法
285
查看次数