小编Der*_*iel的帖子

在PHP中从数组键创建新变量

假设我有一个数组,如下所示:

$foo = array('first' =>  '1st',
             'second' => '2nd',
             'third' =>  '3rd');
Run Code Online (Sandbox Code Playgroud)

如何从数组中选择键并使它们成为自己的变量?例如,数组$foo将变为:

$first = '1st';
$second = '2nd';
$third = '3rd';
Run Code Online (Sandbox Code Playgroud)

我问这个因为我正在创建一个MVC框架来帮助我的OOP,我希望用户将一个变量传递给View加载函数,这将允许用户在模板中使用变量而不必知道数组是什么被称为.

例如:

$array = array('title' =>  'My blog!' [...]);
$this->load->view('view.php', $array);
Run Code Online (Sandbox Code Playgroud)

view.php:

echo $title;
Run Code Online (Sandbox Code Playgroud)

输出:

我的博客!

php arrays variables

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

在C++中加密存档的方法

我正在编写一个游戏,它会在一些xml文档和资源文件中包含大量信息(配置,一些内容等).这将使我和其他人更容易编辑程序,而无需编辑实际的C++文件,也无需重新编译.

但是,随着程序开始增长,与程序在同一目录中的文件会增加.所以我想把它们放在一个文件存档中(因为它们主要是文本,因此压缩效果很好).

我的问题是:压缩所有文件会更容易吗:

  1. 设置密码(如受密码保护的ZIP),然后在程序需要时提供密码
  2. 使用Crypto ++或类似方法加密存档
  3. 稍微修改文件头作为"临时"加密,并在加载文件时修复文件的头文件

我认为数字1和2是相似的,但我找不到有关zlib是否可以处理受密码保护的档案的任何信息.

另请注意,我不希望在程序使用时将存档中的文件"提取"到文件夹中.它应该只在系统的内存中.

c++ compression encryption password-protection

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

为一个非常小的团队选择GIT或SVN

我的团队实际上只由我自己和一两个人组成.我主要从事爱好项目和我的网站,每周写大约1000行代码.

我想开始进入版本控制系统,但由于我的大多数项目都由我自己处理,所以我没有看到太多意义.我最近注册了一个GITHub帐户,我不得不说我喜欢它,我认为它比SVN更容易使用(除了下载存储库之外,我没有任何SVN经验).

我唯一的要求是我必须能够拥有我的存储库的Web前端(就像GITHub上的那个).没什么好看的,但我必须能够看到项目中的文件以及对特定文件所做的更改.

除非原因很突出,否则除了网络前端之外,我没有GIT或SVN的偏好.根据我提供的信息,哪一个对我更好?

svn git frontend

6
推荐指数
4
解决办法
4082
查看次数

PDO Prepared语句的语法错误

我刚刚开始准备语句的工作,我的第几个例子摸索出伟大的,但现在我运行到一个SQL语法,我不明白.我有一个执行INSERT的函数,带有一个关联数组的参数,其中数组的键是字段,数组的值是要插入的值.例如:

$arr = array("field1" => "value1",
             "field2" => "value2");

$this->insert("table", $arr);
Run Code Online (Sandbox Code Playgroud)

会执行:

INSERT INTO table ('field1', 'field2') VALUES ('value1', 'value2')
Run Code Online (Sandbox Code Playgroud)

但是,在尝试执行此操作时,我收到以下错误:

PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在''post_title','post_body'附近使用正确的语法.)VALUES('Testing!','1 2 3!')'在第1行

这是我的功能:

    /**
     * insert()
     * 
     * Performs an insert query
     * 
     * @param  string $table   The table to be inserted into
     * @param  array  $fields  An associative array of the fields to be inserted
     *                         and their respective values
     * @return void
     *
     */
    function insert($table, $fields) {
        if (empty($table) || empty($fields)) { …
Run Code Online (Sandbox Code Playgroud)

php pdo prepared-statement

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