小编leo*_*leo的帖子

为什么PHP不允许私有const?

我有一个类在其内部实现中使用常量,但我想限制这些常量的可见性.为什么PHP不允许私有常量?有没有另一种方法来实现这一点,或者PHP试图阻止某些类型的设计失误我不知道?

php oop encapsulation const private

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

如何在对象中使用objc_setAssociatedObject/objc_getAssociatedObject?

如果我在类别实现中使用objc_setAssociatedObject/objc_getAssociatedObject将模拟实例变量存储在setter方法中,那么我将如何访问getter方法中的键,因为setter方法中声明的任何变量都不在getter方法的范围内?

编辑:为了澄清,如果我使用以下模式,我应该在哪里声明STRING_KEY,以便我可以在setter和getter方法中使用它.

@interface NSView (simulateVar)
-(void)setSimualtedString:(NSString *)myString;
-(NSString *)simulatedString;
@end

@implementation NSView (simulateVar)

-(void)setSimualtedString: (NSString *)myString
{
    objc_setAssociatedObject(self, &STRING_KEY, myString, OBJC_ASSOCIATION_RETAIN);
}

-(NSString *)simulatedString
{
    return (NSString *)objc_getAssociatedObject(self, &STRING_KEY);
}

@end
Run Code Online (Sandbox Code Playgroud)

objective-c categories

65
推荐指数
6
解决办法
3万
查看次数

我是否应该始终为失败的init方法释放self?

当init内部出现故障时,我是否应该始终释放self,或者如果我先初始化实例变量,我是否应该这样做?

换句话说,这种模式是否有效?有没有时间我不应该在init方法中释放self,或者我应该假设如果控制流进入init,self至少有一个保留计数为1?

- (id)init
{
 if ((self = [super init]) == nil)
 {
  [self release];
  return nil;
 }

 //do some init stuff
 if (somethingFailed)
 {
  [self release];
  return nil;
 }
 return self;
}
Run Code Online (Sandbox Code Playgroud)

memory cocoa objective-c init

11
推荐指数
1
解决办法
1549
查看次数

PHP'S $ _SERVER ['REMOTE_ADDR']的可靠性

我正在构建一个旨在从localhost管理的站点,但包含向Internet或本地网络用户公开数据的页面.我可以依赖PHP的$ _SERVER ['REMOTE_ADDR']作为将用户标识为localhost的安全/可靠方式吗?谢谢!

编辑: 为了澄清,我只关心确定请求是否来自localhost(也许有更好的方法).

php security

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

在PHP中,如何在多行上表示字符串文字而不在渲染文本中出现新行?

有时在PHP中,当我需要为变量分配一个大的字符串文字时,我将引用的字符串分成多行,这样就可以在不向右滚动300个字符的情况下读取它.我的问题是PHP在应用程序中呈现时在实际字符串中包含换行符.有没有办法逃避新行或是否有更好的方法在多行上表达字符串文字?我知道我可以使用连接,但我希望有一个更优雅的解决方案.

如果重要的话,在Debian上运行.

php string multiline

7
推荐指数
1
解决办法
3956
查看次数

C++模式禁止在某个范围之外实例化类?

我有一个System类,可以返回指向Editor类的指针.该编辑器类的实例化内系统类,并通过指针系统的私有变量.所述编辑器类实质上充当备用接口系统的内部数据结构.

我的问题:是否存在允许我禁止直接实例化Editor类的设计模式,但仍以某种方式在System中实例化它?

谢谢.

c++ design-patterns class

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

"显示"CSS属性不由SASS呈现

我正在使用Sass 3.1.20

test.sass:

#hello
  width: 100px
  display:none 
  background: red
Run Code Online (Sandbox Code Playgroud)

%> sass test.sass

#hello {
  width: 100px;
  background: red; }
Run Code Online (Sandbox Code Playgroud)

为什么要跳过显示属性?

sass

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