问题列表 - 第6994页

PHP:"全球"包括在内

现在的情况:

  • 我有我的MVC框架的当前版本,它使用类作为控制器.
  • 我的 MVC框架中有一些"复古"模块,它使用简单,扁平的包含作为控制器.

大大简化意味着:

新版本:

<?PHP
class blaController extends baseController {
    private $intVar;

    function dosomethingFunction() {
        $this->intVar = 123;
        $this->view('myView');
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

旧版:

<?PHP
$globalVar = 123;
// view "controllername" is automatically shown
?>
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试编写一个包装器,以便能够在我的新MVC中使用我的旧控制器而无需重写所有内容.为此,我有一个"包装"控制器:

class wrapController extends baseController {
    function dosomethingFunction() {
        require 'old_dosomething.function.php';
        $this->view('old_dosomething_view');
    }
}
Run Code Online (Sandbox Code Playgroud)

(再一次:这非常非常简单 - 只是为了得到这个想法.不是真正的代码.)

该方法的问题在于,先前的全局变量$ globalVar现在仅存在于方法"dosomethingFunction"内,并且视图无法访问.

如果我可以强制要求表现为"在全局范围内"以便$ globalVar再次在全局范围内可用,则情况并非如此.

那么:有没有办法实现" require_global "或类似的东西?

(我的问题的一个解决方案是修改我的旧控制器以从一堆"全局"命令开始,但我更喜欢一个解决方案,我不必更改那么多旧代码.)

(注意:请不要告诉我GLOBALS是坏的.它完全忽略了这个问题的要点.请接受这是一个要求让一些旧代码在更新,更清洁的环境中工作.)

php scope global include

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

使用ASP.NET LoginView动态显示链接

我在使用LoginView时遇到了问题.有人可以告诉我是否可以在LoginView(以及如何)中执行此操作,或者是否需要使用代码隐藏.

我有两个角色 - 管理员和用户.我想根据角色动态显示链接.我会在if语句中写出我想要的东西,因为它更容易解释:

if (role = Administrator) //Display only if administrator.
   Show Hyperlink 1
   Show Hyperlink 2
else
   if (role = User) //Display only if user.
      Show Hyperlink 3
      Show Hyperlink 4
   endif
   //Display these if a user or if non-authenticated user...
   Show Hyperlink 5
   Show Hyperlink 6
   Show Hyperlink 7 
endif
Run Code Online (Sandbox Code Playgroud)

asp.net loginview

3
推荐指数
1
解决办法
8781
查看次数

按TAB键时,绕过DataGridView中的只读单元格

任何人都可以向我展示一些代码,告诉我如何在按TAB键时绕过DatagridView中的只读单元格?

c# datagridview

8
推荐指数
2
解决办法
2万
查看次数

在C#中初始化Generic.List

在C#中,我可以使用以下语法初始化列表.

List<int> intList= new List<int>() { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)

我想知道该{}语法是如何工作的,如果它有一个名称.有一个构造函数IEnumerable,你可以调用它.

List<int> intList= new List<int>(new int[]{ 1, 2, 3 });
Run Code Online (Sandbox Code Playgroud)

这似乎更"标准".当我解构List的默认构造函数时,我只看到了

this._items = Array.Empty;
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这一点.

CustomClass abc = new CustomClass() {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

并能够使用该1, 2, 3列表.这是如何运作的?

更新

Jon Skeet回答道

它调用无参数构造函数,然后调用Add:

> List<int> tmp = new List<int>();
> tmp.Add(1); tmp.Add(2); tmp.Add(3);
> List<int> intList = tmp;
Run Code Online (Sandbox Code Playgroud)

我明白这是做什么的.我想知道怎么做.该语法如何知道调用Add方法?

更新

我知道,接受Jon Skeet的回答是多么陈词滥调.但是,字符串和整数的例子很棒.另外一个非常有用的MSDN页面是:

.net c# generics constructor

46
推荐指数
2
解决办法
6万
查看次数

我的项目使用什么语言?

我很快会就一个项目向一家公司提供建议,而且我不太清楚我应该建议的编程语言.

它是一个相当简单(基于桌面)的应用程序,在网络上有一个中央数据源,用于存储和编辑组成机器的部件.需要在应用程序中配置机器,并使用此配置生成生产文档(手册,软件,物料清单).(例如,如果将A部分和B部分添加到配置的机器中,则必须使用本手册第5章中的变体X,如果这有意义的话)

有一些非标准的组件,如带有收音机和复选框的树,它必须有一些版本控制.它需要一个WYSIWYG编辑器来编辑手册的章节.它不一定必须在Windows以外的平台上运行,因为它只会在公司网络上使用,并且每个人都运行Windows.

我在想Java,因为它有大量有用的库和免费的IDE.我自己就是Java程序员,所以我对其他编程语言并不熟悉.关于我应该使用什么语言的想法,为什么?我相信公司中存在一些VB/VBA和Delphi知识(它不是IT公司,我不太可能自己编程).

谢谢堆!

c# java vb.net delphi programming-languages

5
推荐指数
5
解决办法
1044
查看次数

用于封闭源应用程序的C++压缩(zip)库

请为商业的闭源应用程序推荐C++压缩(zip)库.所以,不是GPL许可证.

这是我的日常工作......

c++ compression zip

11
推荐指数
2
解决办法
5908
查看次数

事后实现接口

我认为,以下不能用Java完成.但我很乐意学习如何实现类似于它的东西.

假设我们有一个C类,它已经在编译代码中使用了.(我们既不能改变代码也不能改变C的原始定义).

进一步假设有一些有趣的代码可以重复使用,如果只有C实现接口I.事实上,导出D只是C +接口方法的实现,或多或少是微不足道的.

然而,一旦我有一个C,似乎没有办法说:我希望你成为一个D,也就是说,一个C实现我.

(旁注:我认为如果D是C,那么应该允许c的运行时类型为C的强制转换(D)c,并且C的唯一区别是添加方法.这应该是安全的,如果不是吗?)

怎么能解决这场灾难呢?

(我知道工厂设计模式,但这似乎不是一个解决方案.因为,一旦我们设法在以前是C的所有地方创建D,其他人发现另一个接口J有用并导出E扩展C实现J.但是E和D是不兼容的,因为它们都为C添加了一组不同的方法.因此,虽然我们总是可以传递一个预期C的E,但是我们不能通过一个预期D的E.而是,现在,我们需要一个新类F扩展C实现I,J.)

java oop design-patterns interface

5
推荐指数
2
解决办法
412
查看次数

获取winhttp.h的推荐方法是什么?

我们的应用程序使用libcurl for HTTP,我们希望能够访问Internet Explorer的代理设置.早期的Stack Overflow问题建议我们使用WinHttpGetIEProxyConfigForCurrentUserWinHttpGetProxyForUrl.

遗憾的是,winhttp.h我们的副本Visual C++ 2005或Visual Studio 2008似乎没有包含标题.显然,可以下载更新的Platform SDK并将其安装在Visual C++ 2005中,但这是一个非常痛苦的过程,它不会不一定适用于较新版本的Visual Studio.

是否有一种良好的,受到良好支持的方式从C++访问WinHTTP 5.1 API?或者我们应该避免使用这些API?

c++ windows sdk proxy winhttp

10
推荐指数
2
解决办法
1万
查看次数

对一对多关系的约束

我们有两个表与一对多的关系.我们希望强制执行约束,即给定父记录至少存在一个子记录.

这可能吗?

如果没有,您是否会更改模式以支持此类约束?如果是这样你会怎么做?

编辑:我正在使用SQL Server 2005

sql sql-server database-design constraints

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

ASP.NET MVC的必备知识

在我尝试学习ASP.NET的Arcana之后感到沮丧,我决定尝试ASP.NET MVC.

我对C#2.0有很多经验,除了ASP.NET之外几乎所有事情(WinForms,Windows服务,远程处理......).我编写PHP的时间甚至超过了我编写.NET的时间.凭借所有这些经验,我认为我已经为ASP.NET MVC做好了准备.我现在看到我正在同时学习以下内容并且有一点困难:

  • 一般的MVC模式
  • ASP.NET
  • ASP.NET MVC
  • .NET 3.5.

我目前正在通过NerdDinner免费书籍章节的一半.我并没有感到完全失去,但我确实感觉到我没有像我想的那样追随(因为我正在同时学习4件事 - 有时候不清楚哪一件事技能来自哪个抽象层).

您会为ASP.NET MVC推荐哪些先决条件知识?我上面列出的任何/所有人?其他?或者也许我只是很慢,大多数人会做我做的很好.

asp.net asp.net-mvc .net-3.5

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