小编Zar*_*Zar的帖子

在使用call_user_func_array调用的方法中使用$ this

我有一个方法,简化如下:

class Foo {

   public function bar($id) {
      // do stuff using $this, error occurs here
   }

}
Run Code Online (Sandbox Code Playgroud)

像这样调用它很有用:

$foo = new Foo();
$foo->bar(1);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用它call_user_func_array(),就像这样:

call_user_func_array(array("Foo", "bar"), array('id' => 1));
Run Code Online (Sandbox Code Playgroud)

哪个应该相等,我得到以下错误:

致命错误:在不在对象上下文中时使用$ this

($this未定义)

为什么是这样?有什么我想念的吗?我应该怎么做才能$this在被调用的方法中使用?

php arrays oop

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

不应该"import foo.*"还包括子包"foo.bar.*"?

学习Java,我想到了一个对我来说很混乱的许多教程的属性.从示例教程中考虑以下两个导入:

import java.awt.*;
import java.awt.event.*;
Run Code Online (Sandbox Code Playgroud)

第一行显然是导入java.awt包,第二行是awt的子包.但是asterix不应该包含所有子包吗?因此,第一行应该做的诀窍 - 不应该需要第二行?如果没有:那么星号的真正目的/用途是什么?

例如,SELECT * FROM foo在MySQL中使用从表中选择所有字段,也许我很愚蠢地认为这自然就是这种情况.

java oop import package

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

阿拉伯语查询字符串 - url未存储和显示

我想通过添加日期和标题使我的链接SEO友好.但是,我的一些标题是阿拉伯语.英语的工作很好,而阿拉伯的工作不好.例:

خالد-على-20120923220529.HTML

本教程之后,我已经生成了这段代码:

$title=mysql_real_escape_string($_POST['title']);
Run Code Online (Sandbox Code Playgroud)

我有插入标题错误和URL没有插入阿拉伯字符和删除此代码插入完成没有问题但是当从数据库中选择此URL将重定向未找到404我需要显示我的链接

http://dzeduc.org/%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D8%AF%D9%84%D8%A7%D8%AA-%D9%88- %D8%A7%D9%84%D9%85%D8%AA%D8%B1%D8%A7%D8%AC%D8%AD%D8%A7%D8%AA-%D9%85%D9%86- %D8%A7%D9%84%D8%AF%D8%B1%D8%AC%D8%A9-1%D9%882 /

我该如何解决这个问题?

注意

$conn = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
mysql_select_db($db_name,$conn);

mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8'); 
Run Code Online (Sandbox Code Playgroud)

元标签

<meta charset="UTF-8" />
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> 
Run Code Online (Sandbox Code Playgroud)

php url seo

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

从当前URL获取#id

我正在寻找一种通过JavaScript从当前URL检索#anchor部分的方法.例如:

http://my-page.com/index.html#contact-us

会回来contact-us.

我可以在最终分割URI,#然后拿最后一块,但我正在寻找一个更好,更清晰的建议.本机(jQuery?)函数会很棒,但我想我要求的太多了.

javascript url jquery uri

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

为什么/何时应该使用泛型方法?

在学习 Java 时,我遇到了泛型方法

public <T> void foo(T variable) { }
Run Code Online (Sandbox Code Playgroud)

也就是说,一个方法接受一个未确定类型的参数 (á la PHP?)。然而,我不知道这将是一个怎样的好解决方案——尤其是因为我在从松散的语言中走出来之后,已经爱上了强类型语言。

有什么理由使用泛型方法吗?如果有,什么时候?

java oop generics

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

使用gson反序列化嵌套的泛型类

使用Gson,我试图反序列化一个嵌套的泛型类.类结构如下所示:

包装器对象,简化,但通常包含其他属性,例如statusMessage,与data服务器的-field 一起返回:

public class Response<T> {

   private List<T> data = null;

   public List<T> getData() { return this.data; }   

}
Run Code Online (Sandbox Code Playgroud)

简单类,data上面的字段的预期输出(尽管作为数组):

public class Language {
   public String alias;
   public String label;
}
Run Code Online (Sandbox Code Playgroud)

用法:

Type type = new TypeToken<Response<Language>>() {}.getType();
Response<Language> response = new Gson().fromJson(json, type);
List<Language> languages = response.getData();
Language l = languages.get(0);
System.out.println(l.alias); // Error occurs here
Run Code Online (Sandbox Code Playgroud)

json-variable是这样的.

但是,在执行此操作时,我收到以下异常(在第3行,最后一个代码示例):

ClassCastException:com.google.gson.internal.StringMap无法强制转换为book.Language

仅在将数据存储getData()到变量中(或作为一个变量使用时)才会发生异常.

任何帮助将受到高度赞赏.

java oop generics gson deserialization

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

从数据库而不是配置文件中读取 CodeIgniter 配置值

您可能知道,当您使用 CI 创建一个新项目时,您必须在 config/config.php 中手动输入基本 url、加密密钥。我正在努力克服这个问题,因此正在寻找一种方法来从数据库中读取这些值- 使客户的安装和整个设置时间大大减少

客户无法编辑 PHP 文件的变量,但很有可能在某些指导下输入基本 URL 并由系统自动填写加密密钥。

有什么办法可以做到这一点吗?

database config codeigniter

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

Git无法推送到远程存储库:"只读文件系统"

试图推送到远程存储库给我错误:

错误:无法创建临时sha1文件名:只读文件系统

有趣的是,它在30分钟前的推动下运行得非常好.另一件值得注意的事情是,我是唯一推动/提交/访问此存储库的人.

ssh方式连接到我的仓库服务器试图chown,chmod复制,重命名等资料库,我不断收到错误Read-only file system.使用ls -ld my-repo.gityield 列出存储库的所有者:

drwxrwsr-x 7 my_user users 248 Jul 20 14:56 my-repo.git /

看起来很合适,归我所有,对吧?我不明白为什么会这样.如何解决这个非常恼人的问题的任何建议将非常感谢!

unix git version-control repository

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

嵌套迭代列表,然后是最终删除

我正在尝试通过循环遍历列表(嵌套循环)进行迭代.请考虑以下代码:

ArrayList<Integer> list = new ArrayList<Integer>(); // add some values to it

for(int i : list) { // ConcurrentModificationException

   Iterator iterator = list.iterator();

   while(iterator.hasNext()) {

      int n = iterator.next();

      if(n % i == 0) {
         iterator.remove();
      }

   }

}
Run Code Online (Sandbox Code Playgroud)

上面的示例导致ConcurrentModificationException.当然,移除元素的条件只是一个例子.

我确定我只是遗漏了一些东西; 但是我应该如何构建一个在Java 中实现相同功能而不会抛出异常的循环

java oop iterator loops

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

在运行Ubuntu 12.04的Travis CI上使用APCu

我有一个Symfony应用程序,它依赖于APCu(php5-apcu)。该服务器在Ubuntu 15.04上运行PHP 5.6。通过作曲家需要APCu作为依赖项,即:

"require": {
    "ext-apc": "~4.0"
}
Run Code Online (Sandbox Code Playgroud)

哪个很棒。尝试使应用程序在Travis-CI上运行并不顺利,因为它们运行的​​Ubuntu 12.04不包含该php5-apcu软件包,其结果是:

E:无法找到软件包php5-apcu

安装php-apc不满足ext-apcu要求,我宁愿不要推广不推荐使用的软件包。

关于如何在Travis CI上设置APCu的任何建议?最好不要手动下载软件包。

php ubuntu travis-ci ubuntu-12.04 ubuntu-14.04

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