当我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中的错误还是删除了警告?
我正在使用PDO创建一个小型的activerecord库,我计划支持MySQL,Sqlite和PgSQL.
我的问题是如何确定查询字符串适用于所有适配器?主要有CRUD语句和一些连接等.是否有一个我可以遵循的标准适用于所有这些?
谢谢/托比亚斯
编辑:感谢您的所有答案,但我的问题更多的是关于SQL' 语法 '之间的差异.
我正在构建一个开源产品,我正在考虑本地化,我已经阅读了gettext,但似乎有很多问题要让它在不同的系统(服务器,操作系统等)中工作.
你会怎么处理这个?有没有一种安全的方法来帮助文本在多个系统上工作?也许它已经是?
来自瑞典/托比亚斯的问候
我正在构建一个小的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数组,然后它工作了..谢谢大家的帮助.
嗨,您好!
我在学习组合.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 ×5
bash ×1
gettext ×1
localization ×1
mysql ×1
pdo ×1
postgresql ×1
shell ×1
sqlite ×1
tostring ×1