小编san*_*ius的帖子

在PHP 5.3中使用call_user_func调用非静态方法是否可以?

当我call_user_func在PHP 5.2中使用非静态方法时,我得到严格警告:

Strict Standards: Non-static method User::register() cannot be called statically
Run Code Online (Sandbox Code Playgroud)

但是在PHP 5.3.1上,我没有得到这个警告.这是PHP 5.3.1中的错误还是删除了警告?

php

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

mysql,sqlite和pgsql之间的语法差异

我正在使用PDO创建一个小型的activerecord库,我计划支持MySQL,SqlitePgSQL.

我的问题是如何确定查询字符串适用于所有适配器?主要有CRUD语句和一些连接等.是否有一个我可以遵循的标准适用于所有这些?

谢谢/托比亚斯

编辑:感谢您的所有答案,但我的问题更多的是关于SQL' 语法 '之间的差异.

php mysql sqlite postgresql pdo

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

PHP本地化问题

我正在构建一个开源产品,我正在考虑本地化,我已经阅读了gettext,但似乎有很多问题要让它在不同的系统(服务器,操作系统等)中工作.

你会怎么处理这个?有没有一种安全的方法来帮助文本在多个系统上工作?也许它已经是?

来自瑞典/托比亚斯的问候

php localization gettext

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

__toString问题

我正在构建一个小的MVC系统(学习),我在视图文件中显示变量时遇到了一些问题.

这来自我的View类:

private $vars = array();

    public function __set($key, $value)
    {
        $this->vars[$key] = $value;
    }


    public function __get($key)
    {
        return $this->vars[$key];
    }

    public function __toString()
    {
        return $this->vars[$key];
    }

    public function show($file)
    {
        global $router;
        $folder = strtolower($router->current_controller);

        $path = VIEWPATH.$folder.'/'.$file.'.phtml';
        if ( ! file_exists($path))
        {
            die("Template: $file, not found");
        }
        include ($path);
    }
Run Code Online (Sandbox Code Playgroud)

这是来自我的控制器:

$test = new View();
$test->name = 'karl';
$test->show('name_view'); 
Run Code Online (Sandbox Code Playgroud)

和视图文件(name_view)

echo $name // doesn't work
echo $this->name // Works
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?也许我想要做一些全球化的事情?

THX/Tobias

编辑:我刚刚在包含视图文件之前在视图类中提取了vars数组,然后它工作了..谢谢大家的帮助.

php tostring magic-methods

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

执行bash文件时出错

嗨,您好!

我在学习组合.sh文件和PHP时遇到了一些问题.我创建了一个文件test.sh,在该文件中我调用了一个名为test.php的PHP文件.

如果我双击.sh文件然后它运行完美但当我尝试从终端运行它时,我得到"命令未找到".我在我的.sh文件中的确切文件夹,但它不会工作.这是我的test.sh:

#!/bin/bash
LIB=${0/%cli/}
exec php -q ${LIB}test.php one two three
exit; 
Run Code Online (Sandbox Code Playgroud)

当我双击test.sh文件然后它返回像它所支持的argv数组.但为什么我不能从终端运行它?

php bash shell

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

标签 统计

php ×5

bash ×1

gettext ×1

localization ×1

magic-methods ×1

mysql ×1

pdo ×1

postgresql ×1

shell ×1

sqlite ×1

tostring ×1