我试图为每个用户加载一个“模板”文件。
文件为每个用户加载,所以如果我有两个用户,它会加载它两次,但是变量$user'profileimg'和$ user 没有加载。
我不知道为什么这不起作用,而且我也觉得这可能是个糟糕的做法。所以我的问题是:我怎样才能让它发挥作用/我应该如何做这样的事情。
提前为您提供任何帮助。
这是我现在得到的代码:
类:
class Cprint
{
public static function Template($name, $path = 'template')
{
include ROOT_DIR
最近,我正在阅读php文档,并在string部分找到了有趣的注释:
函数、方法自PHP5起调用、静态类变量和{$}工作中的类常量。然而,访问的值将被解释为定义字符串的作用域中变量的名称。使用单个大括号({})将无法访问函数或方法的返回值、或类常量或静态类变量的值。
请参阅
它说,我不能使用curly语法来获得object的方法调用返回的值。这是手册中的错误,还是我误解了它,因为我尝试了以下代码,并且它运行得很好:
<?php
class HelloWorld
{
public static function hello()
{
echo '
在Ruby中,我不会在构造函数之前定义变量。PHP中的教程建议我这样做,尽管当我不这样做的时候,它似乎会起作用。
这种方法有什么好处?Ruby函数initialize和PHP函数__construct之间有什么区别吗?
class ConnectToDatabase {
public $host;
public $user;
public $password;
public $database;
function __construct($host, $user, $password, $database) {
$this->host = $host;
$this在php中的作用域是什么,我们可以在类中声明侧函数吗?
class Blogs extends Controller
{
public $articlesmodel = $this->loadmodel('articlesmodel');
public function index()
{
if(!isset($_SESSION['user']['login_id'])){
header("location:".URL);
在写这个问题的时候,我已经解决了我的问题,但我还有另外一个问题。基本上,我想我有可变的范围,理解这里的问题,但目前我不明白为什么这不起作用。有人能帮我指出来吗?
我在index.php上有这个:
spl_autoload_register(function($class) { include_once("./Class/{$class}.php")); });
Site::Page("page");
Site.php包含一个类,被调用的方法基本上包括另一个文件:
class Site {
public static function Page($name
在代码的底部,我创建了一个新的State,并将其命名为$initialState (148行)。我传递给State构造函数的任何东西看起来都不起作用。
只是为了确保..。我使用的是PHP5,我使用的是"function __construct“..在构造之前有两个下划线。
不管怎样,有人能帮上忙吗?..
<?php
//class for the Tower
class Tower
{
public $pegs = array(); //array to represent pegs
function __construct(){
//th
=== Base.php ===
<?php
class Base
{
public static function e()
{
static $number = 0;
$number++;
var_dump($number);
}
}
=== A.php ===
<?php
class A extends Base {}
=== B.php ===
<?php
class B extends Base {}
=== test.php ===
function __autoload($classname)
我想知道为什么不能将变量定义为global在class中。就像这样:
class MyClass {
global $var1 = 'anything'; // syntax error
static $var2 = 'anything'; // but it is ok
}
我知道,如果我想使用static而不创建类的实例,我应该使用它。对吧?只有这一点而没有其他的东西?global是同样的工作吗?
事实上,我无法理解php中global的概念,也无法将它与static进行比较。我知道它们都保留了值,但我认为不同之处在于生存期(存储持续时间)或作用域。
在C语言中,我们可以做到(如果我没记错的话):
void foo()
{
static bool firstCall = true;
if(firstCall)
{
// stuff to do on first call
firstCall = false;
}
// more stuff
}
我想在PHP中这样做,以避免当同一方法被多次调用时,我的模型会多次查询数据库。
class User
{
public static function & getAll($reload = false)
如何从C类访问$var,我尝试使用parent::parent::$var,但这不起作用。
<?php
class A {
protected static $var = null;
public function __construct(){
self::$var = "Hello";
}
}
class B extends A {
parent::__construct();
//without using an intermediate var. e.g: $this->var1 = parent
我在PHP中工作。
我有一个函数(F1),它被调用的次数是可变的。在该函数中,我需要从另一个函数(F2)加载一个常量数据集。它总是加载相同的数据集,但是加载该数据集涉及一些数据库查找和处理。我希望将结果放入F1中的静态变量中,而不是重复调用F2并增加开销/冗余/处理需求。但是,无论出于什么原因,它都不允许我使用函数调用将变量设置为静态变量。
代码示例:
function calledRepeatedly() {
static $dataset = loadDataset();
// some minor processing here using the dataset
有没有办法在代码中的任何地方使用全局变量?
我想在我的代码中声明的每个路径中使用一个Path变量来定位配置的文件夹。
下面是我的代码: Index.php
<?php
require_once('Common.php');
require_once('Path.php');
?>
Common.php
<?php
$RootPath = '.';//in this case its root
//add the RootPath for global using
$GLOBAL
考虑一下这个例子,
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