我有一个PHP脚本,它在PHP 5中运行良好,但在PHP 4中不能正常工作。我做了一个小测试案例供您演示(免责声明:我知道下面的代码可以写得更好,但它并不是实际使用的代码,而是用来演示我所说的内容的代码):
class Messenger {
var $messages = '';
function add($message) {
$this->messages .= "$message\n";
}
}
function add($m) {
if (! isset($GLOBALS['instan
请参见下面的类定义:
我目前正在使用5.3.9版本的PHP
class A{
static function ab(){
echo "static function ab<br>";
}
public function xy(){
echo "public function xy<br>";
}
}
$obj = new A();
$obj->ab();
A::ab();
两个函数调用都提供相同的输出,没有任何错误。
static function ab
stat
我正在编写一个最小依赖项注入类。但是,当我试图访问静态方法内的静态属性时,php会发出“未定义变量”通知。守则是:
class DI{
/**
* @var array $registry Class dependency resolving functions
*/
public static $registry = [];
/**
* @var array $instances Class instances for singleton classes
*/
public static $instances = [];
public static function regist
我是OOP的新手,但不是PHP的新手。我正在尝试从另一个类中初始化一个类。
index.php
<?
error_reporting(E_ALL);
require("classes/memcache.php");
require("classes/video_test.php");
$videos = new video;
?>
video_test.php
<?php
class video {
private $mcache;
public function __construc
*对不起,我现在正在学英语,我的英语还不太好。请理解我的处境。
据我所知,静态需要使用类::函数(Params);
就像这张。
class Foo {
static function Bar($msg){
echo $msg;
}
}
XE中有一个文件(在韩国开发的is CMS )。
(XE官方网站:)
当然,这是一个真实文件的摘要。
<?php
/**
* Manages Context such as request arguments/environment variables
* It has dual method structure, e
我有一个简单的类,我想从类外设置public变量。
<?php
class AlachiqHelpers
{
public $height;
public static function getHeight($height)
{
return $this->height - 50;
}
public static function setHeight($height)
{
$this->height = $height;
}
}
因此,我得到了以下错误:
在对象上下文中不使用$th
考虑一下这个例子,
class A {
public function who() {
echo 'The name of the class is ' . __CLASS__;
}
}
A::who();
输出:类名为A
而这个,
class A {
public $vars=12;
}
echo A::$vars;
会导致以下错误,
致命错误:未声明的错误:对未声明的静态属性的访问: A::$var在G:\xampp\htdocs\Learn_PHP\PHP1\name_class.p
如果到现在为止,我懂了一点英语,现在我意识到我什么都不懂。我很困惑,我很难理解,但我不能。有人可以解释这个程序,当使用self,parent,static时,以及我所做的所有最小的改变是如何改变结果的,而我不能理解发生了什么。非常感谢..
来自的代码
<?php
class A {
public static function foo() {
static::who();
}
public static function who() {
echo __CLASS__."\n";
}
}
class B e
如何在静态方法中使用'this‘?我一直收到错误:PHP Catchable fatal error: Object of class could not be converted to string
下面是我尝试使用的方法:
public static function getFirst(){
$this->_id = 1;
$this->_name = $this->_db->query("SELECT name FORM users WHERE id = 1");
$this->_occupation = $
"class“方法/字段从何而来?我在API中找不到任何有关它的信息。
代码示例:
public class SomeClass{
public static void main(String[] args){
System.out.println(SomeClass.class);
}
}
输出:类SomeClass
在我试图理解的一些遗留代码中,我发现了一些奇怪的行为。我把它简化为一个简单的测试用例。
<?php
class Foo {
function DoFoo() {
print("[" . get_called_class() . "]");
}
}
class Bar {
function DoBar() {
Foo::DoFoo();
}
}
// Called by direct static call.
Foo::DoFoo();
// Called by indirect
我有一个Zend_Form对象,我想在一个页面中重复使用几次。我遇到的问题是,每次渲染时,它都有相同的元素ID。每次呈现表单时,我都无法找到为所有ID提供唯一前缀或后缀的方法。
完全解
子类Zend_Form
class My_Form extends Zend_Form
{
protected $_idSuffix = null;
/**
* Set form and element ID suffix
*
* @param string $suffix
* @return My_Form
*/
public fu
想知道下面的例子是如何实际工作的,以及如何能够动态地做一些事情。使用call_user_func或call_user_func_array不允许这种情况发生。
<?php
class Person
{
public $name = "George";
public function say_hi()
{
return ExtraMethods::hi();
}
}
class ExtraMethods
{
public function hi()
{
return "
有没有办法在不使用'call_user_func‘和eval的情况下调用类中的函数?
这就是为什么我会问:
当我使用'call_user_func‘时,我得到'$this not in context’错误:
$this->id = $selectId['id'];
$file = 'score_' . $this->sid . '.php'; //the file with the class
if (@include_once($file)) { //including the file
$sc
从PHP 5升级到PHP 7之后,下面的代码产生了不同的结果:
abstract class TheParent {
public static $prop;
public function __construct( $val ) {
static::set_prop($val);
}
public static function set_prop( $val ) {
$ref_reset = $val;
static::$prop =& $ref_reset;
}
}
class Child