从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
考虑一下这个例子,
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
我目前正在尝试使用json_decode将数据填充到二维数组中。然而,它看起来加载正确,但当我尝试获取一个特定值时,即使不是这样,它也会返回null。
我的2dtestarray.php:
<?php
class testarray {
public static $listConfigs;
public function __construct() {
$this->listConfigs = json_decode(file_get_contents('configuration.json'), true);
}
public static fun
我正在尝试在另一个类中调用类方法。
<?php
class A {
public static $instant = null;
public static $myvariable = false;
private function __construct() {}
public static function initial() {
if (static::$instant === null) {
$self = __CLASS__;
static::$instant = new $se
在PHP类或PHP方法中,self和$this->有什么区别?
示例:
我最近看过这段代码。
public static function getInstance() {
if (!self::$instance) {
self::$instance = new PDO("mysql:host='localhost';dbname='animals'", 'username', 'password');;
self::$instance-> setAttribu
我是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
我已经开始学习PHP中的OOP。我成功地编写了子类扩展包含数据库连接的超类的代码。现在,除了扩展或使用子类之外,还有什么方法可以使这个连接类成为全局的,这样任何类都可以使用它的对象而不必扩展它吗?
请注意,下面,我必须使用$this->pdo来处理类的实例。有什么方法可以像$pdo=new PDO();那样实例化这个类中的对象,并在任何我想要的地方使用这个对象作为$pdo呢?
静态类在这种情况下会有所帮助吗?
class connection
{
public $servername = "localhost";
public $username =
如果我使用作用域解析操作符调用公共函数,它不会给出任何错误。
class Parent_class
{
public function st_function()
{
echo "*************parent class************\n";
}
}
Parent_class:: st_function();
但在php.net的PHP文档中,它给出了静态调用非静态方法会生成E_STRICT级别的警告。此外,- Static属性不能通过使用箭头操作符->的对象访问,但它不会给出任何错误。有谁能解释一下吗?
c
今天,我在PHP中看到了一种与以前版本略有不同的新型代码执行。下面的代码从8.1版开始执行如下。有人知道为什么吗?
<?php
class test {
/**
* A test static variable in class
* @var int $var
*/
private static int $var;
/**
* A method to set value in private variable with name $var
* @param int $var
*/
publi
我刚开始在php中学习OOPS。我编写了一个实现继承的简单程序。当没有对象上下文时,我得到了$this的致命错误。有人能解释一下这个错误吗,这是什么意思?这是我的代码:
<?php
class human{
public $gender;
public function _construct($gender)
{
$this->gender=$gender;
echo $this->get_gender();
}
public fu
我想知道如何将self::和$this组合在一个“静态”类中?
<?php
class Test
{
static private $inIndex = 0;
static public function getIndexPlusOne()
{
// Can I use $this-> here?
$this->raiseIndexWithOne();
return self::inIndex
}
private function raiseIndexWithOne()
{
我有个这样的班
class View
{
// Parameter die an das template übergeben werden
protected static $params = Array();
// Parameter die vom Routing übergeben werden
public static $routeParams;
// haupttemplate
protected static $viewMainContent;
// view template
protected static $viewFileContent;
// view pfad
p
为什么PHP允许静态地使用类名并通过各种关键字调用非静态方法,比如自、静态和父类,它们是类名的占位符?
但另一方面,它不允许静态调用非静态属性?
这是样本代码-
<?php
# PHP Version 7.1.7
error_reporting(E_ALL);
ini_set('display_errors', 1);
class Fruit {
public $name = 'Fruit';
public function x() {
echo "Fruit_x" . "
我有一个简单的类,我想从类外设置public变量。
<?php
class AlachiqHelpers
{
public $height;
public static function getHeight($height)
{
return $this->height - 50;
}
public static function setHeight($height)
{
$this->height = $height;
}
}
因此,我得到了以下错误:
在对象上下文中不使用$th
如何在静态方法中使用'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 = $
我是PHP新手,但对编程很有经验。查看PHP站点上有关属性:的页面,我看到了这个示例。
<?php
class SimpleClass
{
// invalid property declarations:
public $var1 = 'hello ' . 'world';
public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $m
从什么时候起PHP允许像调用动态函数一样调用静态函数?
我使用的是php 5.3.2
class weird{
public static function iamstatic($calledFrom){
echo "I am a static function called with a $calledFrom operator\n";
}
public function test(){
self::iamstatic("static");
$this-&g
说我有以下几点:
<?php
abstract class MyParent
{
public static $table_name;
public static get_all(){
return query("SELECT * FROM {$this->table_name}");
}
public static get_all2(){
return query("SELECT * FROM ".self::table_name);
}
}
class Child ex
<?php
class Stat
{
public $var1='H';
public static $staticVar = 'Static var';
static function check()
{
echo $this->var1;
echo "<br />".self::$staticVar ."<br />";