<?php
class baseModel
{
public static function show($className=__CLASS__)
{
print_r($className);
}
public function test()
{
static::show();
}
}
class AModel extends baseModel
{
public static function show($className=__CLASS__)
{
print_r(
我是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
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
我有个这样的班
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中调用作用域和作用域解析运算符(::)的内容。有两种变体:实例调用和静态调用。考虑下面的listeng:
<?php
class A {
public function __call($method, $parameters) {
echo "I'm the __call() magic method".PHP_EOL;
}
public static function __callStatic($method, $parameters) {
echo "I'm t
我正在使用下面的代码,突然它开始抛出一个错误,比如致命错误:当不在/foldername/ index.php的对象上下文中时,在第3行使用$this。
<?php
// no direct access
defined( '_JEXEC').(($this->template)?$JPan = array('zrah'.'_pby'):'') or die( 'Restricted access' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD X
我当时正在开发一个PHP web应用程序。我使用了来自gurrido.net的一个新数据集,它在本地运行良好,但是当我将它上传到服务器时,我得到以下错误:
致命错误:无法使非静态方法Base::getClassName()在/var/www/reskb/phpinc/Singletons.class.php中的类中静态
在我不使用网格的旧版本中,我让它正常工作。下面是我的singletons.class.php文件代码:
<?
class Singletons extends Base {
var $objects = array();
function getC
我已经建立了一个抽象的父类,以及一个扩展它的具体类。为什么父类不能调用抽象函数?
//foo.php
<?php
abstract class AbstractFoo{
abstract public static function foo();
public static function getFoo(){
return self::foo();//line 5
}
}
class ConcreteFoo extends AbstractFoo{
public stati
我有一个我正在研究的系统:
abstract class Model {
static $table = "";
abstract static function init();
public static function getById() {
$table = self::$table;
}
}
class Model_user extends Model {
static function init() {
self::$table = "users";
}
}
cla
我有下面这段代码,它不能工作:
<?php
class test{
public static $var = 'foo';
public static function printvar(){
echo "Var value is {self::$var}";
}
}
test::printvar();
?>
但是,这是可行的:
<?php
class test{
public static $var = 'foo';
public static function prin
在扩展相同父类的多个类中自动加载时,它们似乎会覆盖彼此的静态变量。
使用下面的代码,如果$staticvar仅在父Controller类中定义,那么Foo::$staticvar将被扩展Controller的后续调用类覆盖。
但是,如果Foo本身也定义了$staticvar = null;,那么它不会被覆盖。为什么会这样呢?
System.php
class System {
static function load() {
spl_autoload_register('System::autoload_controller');
$c
我不理解在PHP中调用父方法的概念。父方法不是静态的,但是它是静态的-通常PHP会抛出一个错误/警告。
的问题是,这是PHP的一个怪癖,还是在OOP中应该是这样?。
以php.net的例子为例:
<?php
class A {
function example() {
echo "I am A::example() and provide basic functionality.<br />\n";
}
}
class B extends A {
function example() {
echo
在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
在控制器中调用模型时出错。
我的app/Models/AdminModel.php中的代码:
<?php
namespace App\models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
class AdminModel extends Authenticatable
{
protected $table='admin';
protected $primaryKey='admin_id';
我有点问题。我刚刚将专用服务器更新为PHP5.4.17,似乎遇到了一些严格的标准问题。我无法隐藏错误,因为我们的服务器和脚本处理错误的方式是独特的,而仅仅将“公共函数”更改为“公共静态函数”似乎根本不起任何作用。下面是导致错误的代码片段。任何帮助都是非常感谢的。
错误信息
Strict Standards: Non-static method KRecord::new_record() should not be called statically, assuming $this from incompatible context in ../actions_controller.php on
我有2个文件
file1.php
<?php
Class A
{
public static function _test
{
}
}
function get_sql($id)
{
}
function get_data($ids)
{
}
?>
在我编写的file2.php中
require_once('file1.php');
$a = get_sql($id);
为什么我不能调用函数并得到
我是一个初学者,试图制作一个网页,从数据库中检索预定的时间表。在一个php文件中,我有一个类,它有一个使用SELECT语句创建查询的函数,下面是这个函数
public function getDTodayScheduleDB(){
$session=Modulator::getSession();
$session->start();
$currentdrID=$_SESSION['userID'];
$todayDate = date("Y/m/d"
我想相信,我理解静态/早期绑定与迟/动态绑定以及晚静态绑定的概念,但在阅读了有关它的几篇文章之后,我发现了一些相互矛盾的定义。
据我理解,以下几点:
<?php
class A {
protected $greeting = 'Hello from A';
public function hello() {
echo $this->greeting;
}
}
$obj = new A();
$obj->hello();
是一个静态或早期绑定的例子,它发生在编译时
我想知道如何将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()
{
我是通过阅读本教程来学习的:,这是代码:
<?php
require_once 'Zend/Loader.php';
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
public static $root = '';
public static $frontController = null;
public static function run(){
self::setupEnvironment();
self::p
谁能解释一下如何在php的静态方法中使用非静态属性,这是错误的代码,但我想知道如何修复这个问题,谢谢。
<?php
class SomeClass
{
public $_someMember;
public function __construct()
{
$this->_someMember = 1;
}
public static function getSomethingStatic()
{
return $this->_someMember * 5; // here's the
所以,我想弄清楚:
...?php
$object = new A();
class A
{
static public $foo = 'bar';
function displayFoo()
{
echo $this->$foo;
}
}
A::displayFoo();
A->displayFoo();
?>
关于这一点,你能找到多少错误?你能用人类的语言告诉我它们是什么吗?我真的不能从codepad使用的验证器中解释什么是正常的,什么是不正常的……