我有个问题:
我正在编写一个没有框架的新WebApp。
在我使用的index.php中:require_once('load.php');
在load.php中,我使用require_once('class.php');加载我的class.php。
在我的class.php中,我得到了以下错误:
致命错误:当不在对象上下文中使用$this时,class.php在线.(在本例中为11)
我的class.php是如何编写的:
class foobar {
public $foo;
public function __construct()
我不理解在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
我有5个剧本:
database.php
parent.php
child1.php
child2.php
somescript.php
parent.php类如下所示:
include 'database.php';
class Parent {
public $db;
function __construct() {
$this->db = new Database();
}
}
child1.php和child2.php类如下所示:
include 'parent.php';
c
我的目录中有两个文件夹:
插件
类
Plugins文件夹包含两个文件: Sample.php和Plugins.php。
Sample.php只是一个具有扩展插件类的函数的类。Plugins类尝试创建基类的新实例,该实例位于“类”文件夹中。
Plugins/Sample.php:
class Sample extends Plugins {
public $eggs;
public $pounds;
public function __construct() {
$this->eggs = "100";
这可能是一个基本的问题,但我遵循本教程,在某一点上,代码看起来是这样的。
<?php
class person
{
public $name;
public $height;
protected $social_security_no;
private $pin_number = 3242;
public function __construct($person_name)
{
$this->name = $person_name;
}
public function set_name($new_n
我在一个文件夹里有3个文件:
index.php
<?php
include ('MyProject.php');
$controller = new MyProject\MyProject();
$controller::execute();
?>
MyProject.php
<?php
namespace MyProject;
class MyProject{
public static function execute(){
include ('database.php');
$pdo
我有一个这样的文件结构;
/
/public
-index.php
-login.php
/config.php
/init.php
/classes/ClassGroup/ClassName.class.php
__autoload是在config.php中定义的,具有类的绝对路径。config.php在index.php中是必需的,但是当我尝试创建一个新类时;
$user = new User_User;
结果;
Fatal error: Class 'User_User' not found in /......./public/index.php on line
我是一个新的PHP,我有一些像这样的文件:
在root.php我有
<?php
class Root
{
// Some functions here
}
在child_1.php中,我有:
class Child_1 extends Root
{
function abc()
{
//Some code here
}
}
在child_2.php中,我有:
class Child_2 extends Root
{
function cde()
{
// How can i call function abc() from class Child_1 here
所以我有这样一个类:
class A{
public function do_a(){ return 'a_done';};
public function do_b(){ return 'b_done';};
}
所以我需要php文件并创建一个类的实例:
require_once("A_class.php");
$System = new A();
require_once("user_calls.php"); //here I import the user file with the functio
我有三门课:A,B和C。在A课堂上,A.php:
class A
{
function __Contruct()
{
//do something
}
}
在B类中,B.php:
class B extends A
{
function __Contruct()
{
//do something
}
}
在类C中
class C
{
function __Contruct()
{
include(A.php);
$this->A = new A;
我正在尝试将Manager类注入Lumen的toe服务容器中。我的目标是拥有一个LogManager实例,它可以通过app(LogManager::class)在整个应用程序中使用。
每次我尝试访问这个快捷方式时,我都会得到以下提示:
[2017-03-23 16:42:51] lumen.ERROR: ReflectionException: Class LogManager does not
exist in /vendor/illuminate/container/Container.php:681
LogManager.php (我将该类放在模型所在的相同位置(app/LogMana
我想从另一个php文件中调用一个类中的函数,我必须稍后创建实例吗?
login.php
<?php
class Login
{
public function validate()
{
}
}
?>
index.php
<?php
include 'login.php'
$login = new Login();
$login -> validate();
?>
或者我先在登录类中创建实例?
login.php
<?php
class Login
{
public function validate()
{
我是Prestashop的新手,我试图在重写文件夹中的定制模块中重写模块/moduleName/src中的一个类的函数,但它不起作用。
原始文件的路径是:modules/moduleName/src/Adapter/file.php
更改文件的路径是:modules/myModuleName/override/src/Adapter/file.php
以这种方式扩展类--它不是woking,它不使用已更改的文件的函数。
class MyFileOverride extends MyFile{
public function myFunction(){
我正在编写一个Wordpress插件,但我不确定函数名称冲突。
我有一个名为test_handling.php的文件,其中包含以下内容:
function testing() { echo 'test'; }
我在一个类构造函数(名为testcls.class.php的文件)中包含了这个文件:
class TestCls {
function __construct() {
require_once('test_handling.php');
testing();
}
function otherfunction()
我编写这样的代码是为了给您一个示例
这是使用"$ This ->“
<?php
class A{
public function example(){
echo "A";
}
}
class B extends A{
public function example2(){
$this->example();
}
}
$b = new B();
echo $b->example2();
?>
这是使用parent::
<?php
class A{
public
这工作.
classes/API.class.php
abstract class API
{
stuff.
}
api.php
require_once 'classes/API.class.php';
class MyAPI extends API
{
stuff;
}
$API = new MyAPI();
,这不管用.
...but导致“致命错误:无法在D:\xampp-.”中重新声明类API。
classes/API.class.php
abstract class API
{
stuff.
}
classes/MyAPI.class.ph
我不熟悉php,我想在我的代码中使用php5的__autoload功能。我在我的index.php中写了下面的代码,但我不知道应该如何以及何时调用__autoload函数。
function __autoload($class) {
if (file_exists($class . '.php')) {
include($class . '.php');
} else {
throw new Exception('Unable to load class named $class');
}