问题列表 - 第42769页

在PHP中是否有用于数据库访问的单例的用例?

我通过PDO访问我的MySQL数据库.我正在设置对数据库的访问权限,我的第一次尝试是使用以下内容:

我想到的第一件事是global:

$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd');

function some_function() {
    global $db;
    $db->query('...');
}
Run Code Online (Sandbox Code Playgroud)

这被认为是一种不好的做法.一点点搜索后,我结束了与Singleton模式,其

"适用于需要单个类实例的情况."

根据手册中的示例,我们应该这样做:

class Database {
    private static $instance, $db;

    private function __construct(){}

    static function singleton() {
        if(!isset(self::$instance))
            self::$instance = new __CLASS__;

        return self:$instance;
    }

    function get() {
        if(!isset(self::$db))
            self::$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'user', 'pwd')

        return self::$db;
    }
}

function some_function() {
    $db = Database::singleton();
    $db->get()->query('...');
}

some_function();
Run Code Online (Sandbox Code Playgroud)

当我能做到这一点时,为什么我需要相对较大的课程呢?

class Database {
    private static $db;

    private function __construct(){}

    static function get() …
Run Code Online (Sandbox Code Playgroud)

php oop singleton design-patterns

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

在表中的每一行中插入一个随机数

我目前有一个包含大约600,000行的oracle表(lovalarm).我需要能够运行一个查询,它将遍历每一行并将字段(lovsiteid)更新为14300和17300之间的随机数.

到目前为止,我有:

update lovalarm
set lovsiteid = (select TRUNC(dbms_random.value(14300,17300)) FROM dual)
Run Code Online (Sandbox Code Playgroud)

可悲的是,这会选择一个随机数,然后用相同的数字更新所有行,这不是我想要的!

谁能指出我正确的方向?

非常感谢,Cap

sql database oracle

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

在Code Igniter中创建块/模块

到目前为止,我一直喜欢使用CodeIgniter来创建一些简单的Web应用程序(实际上只是学习框架),但我无法找到一种简单的方法来创建块/模块.

我希望有"最近的图像"块,我可以放在网站的任何页面上,而不会在每个页面的控制器中复制查询并将其传递给带有$ vars的模板.

2个问题:

  1. 我已经在视图中使用了partials,但是如何编写一个从url指定的控制器以外的控制器中拉出的partial.
  2. 如何干净地创建一个控制器来拉取该块的数据,而不是
    为它创建页面.

这似乎应该很简单,我只是没有运气找到适当的解决方案.提前致谢.

php codeigniter

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

sizeWithFont:constrainedToSize:UITextView(有时)没有创建正确的高度 - iPhone

我使用以下代码来确定UITextView添加到a 所需的高度UITableViewCell,并确定每个高度UITableViewCell.

这种方法有90%的时间可以工作,但是一些传入的数据(总是相同的传入数据)很短.如果我允许在其中滚动UITextView,我可以看到所有文本都在UITextView- 但UITextView没有足够的高度来显示所有文本.

正在阅读的文本似乎没有任何问题,没有特殊或隐藏的字符等.

UIFont *font = [UIFont fontWithName:@"ArialMT" size:14];
CGSize withinSize = CGSizeMake(230, 10000); 
CGSize size = [currentTimelineText sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];
Run Code Online (Sandbox Code Playgroud)

然后当我创建一个框架frame = CGRectMake(boundsX, yPosition, 230, size.height);并将其分配给它frameUITextView,它(有时)会变短.

iphone height frame uitextview

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

在大表上添加索引需要永远

我有一个表(在MySQL中)unused,大约有540万行.该表如下所示:

CREATE TABLE `unused` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `account_id` bigint(20) DEFAULT NULL,
  `heading_label` varchar(255) NOT NULL,
  `value` varchar(255) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `fk_account_id` (`account_id`),
  CONSTRAINT `unused_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=80524905 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

如果我要添加索引,我认为这个表上的查询可能会更快.我试过这个:

create index heading_label
on unused (heading_label) using btree
Run Code Online (Sandbox Code Playgroud)

我让这个命令在重启MySQL之前运行了一两个小时.虽然这个表有超过500万行,但似乎不需要花费一个多小时才能运行这类东西.但也许这是正常的.我真的不知道自己在做什么.有人可以开导我吗?

mysql indexing

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

为什么Activity Monitor报告的内存使用量与分配工具之间存在差异

我面临着很奇怪的问题.

申请~80.Mb

使用Allocations Instrument在模拟器上进行测试,向我显示当前正在使用大约30 Mb,但是当使用Activity Monitor在iPod 4g上进行测试时显示"物理内存使用~133Mb"和"物理内存可用~77Mb"

由于内存警告我的应用程序不断崩溃.

ActivityMonitor和Allocations Instrument之间使用的物理内存有什么区别?

之前我已经信任Allocations Instrument,因为当我释放对象时,使用的内存量减少了,但在ActivityMonitor中,USED内存量以一种奇怪的方式增加和减少,这与我正在做的事情无关.所以,帮助我理解,因为我认为分配的内存与使用的内存相同,或者我错了?

编辑: 似乎我理解数据在activitymonitor中的显示方式.但问题仍然存在.在ActivityMonitor中,图表下方有一列.在那里我找到了我的申请.而且记忆力只会增加.

没有泄漏100%

memory allocation objective-c

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

ISAPI在IIS Express上重写

随着Visual Studio 2010 SP1和IIS Express的发布,我们希望在我们的本地开发机器上运行我们的asp.net 3.5网站而不是我们的iis5实例.

除了使用ISAPI Rewrite的url重写规则之外,我们所有的代码都运行良好.我们选择ISAPI_Rewrite 3,因为它与apache .htaccess文件非常相似.

我们如何在iis express中使用ISAPI Rewrite?

asp.net iis isapi-rewrite url-rewriting iis-express

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

如何配置Apache2重定向URL

我正在尝试在Apache中配置url重定向.我尝试了一些方法,没有任何作用.有人可以告诉我解决方案,因为它似乎并不太难.

我将重定向来自:

https://myhost/configuration/jmx-console
Run Code Online (Sandbox Code Playgroud)

至:

http://myanohterhost/jmx-console
Run Code Online (Sandbox Code Playgroud)

这是一个https到http重定向.

有人能指出我正确的方向吗?

非常感谢!

redirect apache2

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

自定义facebook喜欢链接?

是否可以添加自定义的Facebook图标?我希望它成为一个部分,<ul>我真的不想加载另一个库他们的SDK或所有的<meta>标签....

有没有人实现像按钮这样的自定义?我不需要他们的按钮提供的计数器等,说实话,他们是丑陋的.我一直在寻找最近2个小时没有真正的运气.

我找到了这个:

<a name="fb_share"></a> 
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" 
    type="text/javascript">
</script>
Run Code Online (Sandbox Code Playgroud)

但它实现了一个按钮.

编辑:

我已经阅读了他们的API,虽然很容易使用我不喜欢他们<iframe>或XFBML代码生成的按钮.我只是想找出是否有办法从这样的东西制作自定义链接:

<ul>
   <li><a href="some code here">Facebook</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我在他们的API中遗漏了什么吗?它总是生成一个带有计数器和图形的巨大按钮,这正是我不想要的.


javascript facebook

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

如何使用SOLR copyField指令

我有一个相当简单的SOLR结构,它包含三个不同的领域:

id,文本和标签

schema.xml我设置以下内容

<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="AND"/>
<copyField source="tags" dest="text"/>
Run Code Online (Sandbox Code Playgroud)

但是,当我搜索仅显示为标记的单词时,则找不到该文档.

我在这里的问题是:copyField描述的任何分析仪运行(索引和查询),作为前发生在这里查询分析器之前或刚?


编辑

分析仪def:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory" />              
        <filter class="solr.SnowballPorterFilterFactory" language="German" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory" />              
        <filter class="solr.SnowballPorterFilterFactory" language="German" /> …
Run Code Online (Sandbox Code Playgroud)

indexing solr

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