小编bpe*_*n76的帖子

PHP - try/catch的开销是否高于if/then?

使用一些遗留代码,我遇到了大量的Try/Catch语句.Try/Catch不是他们在我的Zend认证课程中教授的东西,并且在10年后我没有与另一位使用它的PHP开发人员合作过.与if语句相比,Try/Catch是否有额外的开销?是什么让它或多或少比其他选择更令人满意?

php optimization logic

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

phpUnit初学者

我是如何开始使用phpUnit作为我已经制作的一堆函数和类的测试框架?


编辑:是的,我已经阅读了文档.基本上我在遵循BankAccount示例时尝试过测试.但我得到错误:

Warning: require_once(PHP/CodeCoverage/Filter.php) [function.require-once]: failed to open stream: No such file or directory in [...]/unitTest/phpunit.php on line 38.

此外,php脚本似乎从#!/usr/bin/env php表示它们应该从控制台运行开始.我宁愿从浏览器运行这些...

假设我有一个f1()返回字符串的函数.应该如何进行测试?我错过了什么吗?

php testing phpunit

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

如何将端口添加到mysql服务器

我想向MySql添加另一个tcp端口,我可以从我的应用程序连接到该端口

我有我的应用程序的副本,我在同一台机器上运行它们.它们都连接到在同一台机器上运行的MySql服务器.问题是已经采用了默认端口3306.

mysql tcp

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

如何防止在.Net中正常表达挂起(或设置它的超时)

我正在使用正则表达式来删除html文件中的注释标记(模式是:" <!--(.|\s)*?--!?>")

但有些网站没有使用标准的html标签,示例:

<script language="javascript">
    <!-- 
     js code ...
    </script>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我的正则表达式将挂起,并且try-catch也不会捕获错误.我该如何解决这个问题?

.net regex

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

:错误C2664:'MessageBoxW':无法从'const char [40]'转换参数2

我正在读一本书,它告诉我打开一个空的WIN32项目.我创建了名为main.cpp的源文件并将其放在源文件夹中(这是我项目中唯一的文件).在该文件中输入以下代码:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                  LPSTR lpCmdLine, int nShowCmd)
{
    MessageBox(NULL, "Motoko kusangai has hacked your system!", "Public Security Section 9", MB_OK | MB_ICONEXCLAMATION);
}
Run Code Online (Sandbox Code Playgroud)

并运行它.但是我收到以下错误:

1>c:\users\numerical25\documents\visual studio 2008\projects\begin\begin\main.cpp(6) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [40]' to 'LPCWSTR'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>Build log was saved at "file://c:\Users\numerical25\Documents\Visual Studio 2008\Projects\Begin\Begin\Debug\BuildLog.htm"
1>Begin - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, …
Run Code Online (Sandbox Code Playgroud)

c c++ visual-studio-2008 visual-studio

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

修复编码

我最终在我们的一个mysql列中搞乱了字符编码.

通常我有

√©而不是
é√∂而不是ö√
≠而不是í

等等...

相当确定这里有人会知道发生了什么以及如何解决.

更新: 基于bobince的答案,因为我在文件中有这些数据,所以我做了以下操作

#!/user/bin/env python
import codecs
f = codecs.open('./file.csv', 'r', 'utf-8')
f2 = codecs.open('./file-fixed.csv', 'w', 'utf-8')
for line in f:
    f2.write(line.encode('macroman').decode('utf-8')),
Run Code Online (Sandbox Code Playgroud)

之后

load data infile 'file-fixed.csv' 
into table list1 
fields terminated by ',' 
optionally enclosed by '"' 
ignore 1 lines;
Run Code Online (Sandbox Code Playgroud)

正确导入数据.

UPDATE2: Hammerite,只是为了完整性,这里是要求的细节......

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     | 
| character_set_connection | latin1                     | 
| character_set_database   | latin1                     | 
| character_set_filesystem | …
Run Code Online (Sandbox Code Playgroud)

mysql character-encoding mojibake

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

关于菜单和内容最佳实践的简单PHP问题

好的,所以我第一次建立一个完整的网站并使用PHP.现在我遇到了一个问题:

让我们说我的网站只是一个带有菜单和内容区域的标题.当然,我想有一个header.php和几个内容文件,例如content1.php content2.php和content3.php.这样您只需要更改1个文件中的菜单,就像您所理解的那样.

那么如何建立网站是最好的:

A.在每个内容文件中添加这样的内容:

  <?php include 'header.php'; ?>

  here the content of the content page 1
Run Code Online (Sandbox Code Playgroud)

B.制作一个索引文件,例如:

   <?php include 'header.php'; ?>

   <?php include 'content1.php'; ?>
Run Code Online (Sandbox Code Playgroud)

那么如何在菜单中单击指向content2.php的链接时,标题仍然在该页面上呢?

C.别的什么?也许是一个关于如何制作这类页面的好教程?

php layout include hyperlink

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

PHP - 连续页面访问

我的问题很简单:如何计算访问者访问我网站的连续天数(php),欢迎任何想法.

php mysql

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

使用类来对齐ckeditor

我正在使用ckeditor,这真的很棒.我遇到的唯一问题是我在对齐对象时尝试使用类而不是样式.更具体地说,我想使用类alignleft来对齐左图像而不是使用style ="float:left".为此,我修改了插件ckeditor/plugins/image/dialogs/image.js

在id:'cmbAlign'中,我更改了setup和commid方法,以便根据情况添加类"alignleft"或"alignright"但奇怪的是当我尝试更改类时它不起作用(使用removeClass或addClass, setAttribute('class')也不起作用).代码是:

id:'cmbAlign',
    type:'select',
    widths:['35%','65%'],
    style:'width:90px',
    label:b.lang.common.align,
    'default':'',
    items:[[b.lang.common.notSet,'none'],[b.lang.common.alignLeft,'left'],[b.lang.common.alignRight,'right']],
    onChange:function(){
        l(this.getDialog());
        o.call(this,'advanced:txtdlgGenStyle');
    },
    setup:function(C,D){
        if(C==d){
            var E=(D.getAttribute('class')+'').match(/align([a-z]+)?/);
            if(E&&E[1])E = E[1];else E='';
            this.setValue(E);
        }
    },
    commit:function(C,D,E){        
        var F = (this.getValue()+'');
        if(C==d||C==f){
            var G=(D.getAttribute('class')+'').match(/align([a-z]+)?/);
            if(G&&G[1]){
                if(F!=G[1]){
                    D.removeClass('align'+G[1]);
                    if(F!=='')D.setAttribute('rel',F); D.addClass('align'+F);
                }
            } else {
                if(F!=='')D.setAttribute('rel',F); D.addClass('align'+F);
            }

        }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我已添加D.setAttribute('rel',F),它的工作完美.

有没有人有任何想法或解决方案?

javascript wysiwyg class ckeditor

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

svn没有提交我添加的文件?

我已经将文件从我的svn存储库检出到本地项目文件夹.

然后我在项目文件夹中添加1个文件.但是当我跑步时:

svn commit -m "added a file"
Run Code Online (Sandbox Code Playgroud)

它没有任何承诺!只有当我更改原始文件时,才会添加新文件.怎么会?我希望它将新文件添加到存储库.

svn

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