问题列表 - 第32919页

PHP get_called_class()替代方案

我有一个抽象PHP超类,它包含需要知道其运行的子类的代码.

class Foo {
    static function _get_class_name() {
        return get_called_class();
        //works in PHP 5.3.*, but not in PHP 5.2.*
    }

    static function other_code() {
        //needs to know
        echo self::_get_class_name();
    }
}

class Bar extends Foo {
}

class FooBar extends Foo {
}

Bar::other_code(); // i need 'Bar'
FooBar::other_code(); // i need 'FooBar'
Run Code Online (Sandbox Code Playgroud)

如果我调用该函数get_called_class(),这将有效- 但是,此代码将在PHP 5.2版中运行.*,因此该函数不可用.

那里有一些自定义的PHP实现get_called_class(),但它们都依赖于debug_backtrack()解析文件名和行号,并运行正则表达式(因为编码器不知道PHP 5.2有反射)来查找类名.这段代码需要能够用php运行,即.不仅来自.php文件.(它需要从php -ashell或eval()语句中工作.)

理想情况下,解决方案可以在不需要将任何代码添加到子类的情况下工作......我能看到的唯一可能的解决方案是将以下代码添加到每个子类中,这显然是一个恶心的黑客攻击:

class FooBar extends Foo {
    static function _get_class_name() {
        return …
Run Code Online (Sandbox Code Playgroud)

php oop inheritance php-5.2

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

MySql包含多个列

我有这张桌子

------------------
1  | 20,00 | A  |
2  | 20,00 | A  |
3  | 20,00 | A  |
4  | 20,00 | A  |
1  | 50,00 | B  |
2  | 50,00 | B  |
3  | 50,00 | B  |
4  | 50,00 | B  |
Run Code Online (Sandbox Code Playgroud)

我喜欢用group by来制作这个.

id   | A     | B     |
----------------------
1    | 20,00 | 50,00 |
2    | 20,00 | 50,00 |
3    | 20,00 | 50,00 |
4    | 20,00 …
Run Code Online (Sandbox Code Playgroud)

mysql sql database pivot

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

如何'git push'到一个以只读方式克隆到我团队的登台服务器上的repo

我使用GitHub只读URL将一个repo克隆到我团队的登台服务器上.我对配置文件进行了一些更改.

我想将服务器上的repo clone更改为read-write,这样我就可以'git push'配置文件发生变化.

我该怎么做呢?

或者是否有一种更好的"最佳实践"方式来处理这种情况,而不是从登台服务器提交?

git github staging

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

MFMessageComposeViewController alloc返回nil

在我的应用程序中,MFMailComposeViewController工作正常,但创建MFMessageComposeViewController的新实例失败.

以下是两者的代码:

-( IBAction)sendSMS: (id)sender
{
 MFMessageComposeViewController *picker = [[[MFMessageComposeViewController alloc] init] autorelease];
 picker.messageComposeDelegate = self;

 NSArray *toRecipients = [NSArray arrayWithObject: cell.currentTitle ]; 

 picker.recipients = toRecipients;

 [self presentModalViewController:picker animated:YES];
}

-( IBAction)sendEmail: (id)sender
{
 MFMailComposeViewController *picker = [[[MFMailComposeViewController alloc] init] autorelease];
 picker.mailComposeDelegate = self;

 NSArray *toRecipients = [NSArray arrayWithObject: email.currentTitle ]; 

 [picker setToRecipients:toRecipients];

 [self presentModalViewController:picker animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

由于电子邮件视图控制器工作正常,所以一切都正确链接似乎很明显.是否有一些我错过的配置明智?

iphone objective-c ios4 mfmailcomposeviewcontroller

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

C#Linq String [] list减去String []列表

让我们说吧

string[] admins = "aron, mike, bob";
string[] users = "mike, katie, sarah";
Run Code Online (Sandbox Code Playgroud)

如何从管理员那里获取用户并删除任何人.

结果应该是"katie,sarah"; (迈克被删除)

有没有一个很好的Linq方式来做到这一点?

c# linq

9
推荐指数
3
解决办法
6477
查看次数

在文件夹及其所有子文件夹中搜索特定类型的文件

我试图在给定文件夹中搜索给定类型的所有文件(例如.pdf)并将它们复制到新文件夹.我需要做的是指定一个根文件夹,并在该文件夹及其所有子文件夹中搜索与给定类型(.pdf)匹配的任何文件.任何人都可以告诉我如何搜索根文件夹的子文件夹及其子文件夹等.这听起来像一个递归方法可以解决这个问题,但我无法正确实现一个?(顺便说一下,我正在ruby中实现这个程序).

ruby recursion file-io

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

所有大写字母的日期格式

下面的PHP代码以这种格式返回日期:

2010年7月27日下午7:36

我怎么能用大写字母返回日期?这就是我想要的;

2010年7月27日下午7:36

提前致谢,

约翰

PHP代码:

format('F j, Y &\nb\sp &\nb\sp g:i a')
Run Code Online (Sandbox Code Playgroud)

php

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

.NET ApplicationSettingsBase我每次加载时都应该调用Upgrade()吗?

我们有来自的应用程序设置ApplicationSettingsBase.当我们推送新版本的应用时,我们需要致电:

  //
  // Summary:
  //     Updates application settings to reflect a more recent installation of the
  //     application.
  public virtual void Upgrade();
Run Code Online (Sandbox Code Playgroud)

(来自元数据)

现在有一些棘手的方法来确定您的设置是否需要升级,例如这篇文章在我看来只会升级您的设置一次.现在我可以将我的应用程序的当前版本存储在设置中,并在每次实例化设置时进行比较,如果它与当前版本不同,那么我可以升级.

我的问题是为什么不是Upgrade()每次我实例化设置时调用?这样我知道我永远不会过时.

.net c# upgrade application-settings applicationsettingsbase

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

从Web服务器获取图像的大小而不加载它

是否可以从Web服务器获取图像的大小(可能是其大小,以字节为单位),而不加载它?

Web服务器是否具有与文件大小相关的可访问属性(字段)?这样可以在不加载的情况下检查图像大小.

通常,当Web服务器的目录加载到浏览器中时,它会从服务器端告诉您每个文件的大小.作为ASP开发人员,我可以访问该数据吗?

我正在使用C#.Net 4

编辑:我充当客户端并从其他Web服务器请求此信息.

一如既往地感谢任何帮助.亚历克斯

c# asp.net image

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

preg_match:确保开始和结束包含某些内容

我希望有一个正则表达式,确保字符串的开头包含'http://'和'/'以及结尾.

这是我提出的更长的版本,

if(!preg_match("/(^http:\/\//", $site_http)) 
{
 $error = true;
 echo '<error elementid="site_http" message="site_http - Your link appears to be invalid. Please confirm that your link contains http:// at the start."/>';
}
elseif (!preg_match("/\/$/", $site_http)) 
{
 $error = true;
 echo '<error elementid="site_http" message="site_http - Your link appears to be invalid. Please confirm that your link has ended with a /."/>';
}
Run Code Online (Sandbox Code Playgroud)

但我认为这两个表达式可以像下面这样放在一起,但它不会起作用,

if(!preg_match("/(^http:\/\/)&(\/$)/", $site_http)) 
{
 $error = true;
 echo '<error elementid="site_http" message="site_http - Your link appears to be invalid. Please confirm that …
Run Code Online (Sandbox Code Playgroud)

php regex preg-match

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