Cytat(Tomplus @ 1.12.2017, 09:28:43 )

więc upewnij się jaką wersję PHP używasz, a jaką wersję zalecali w książce.
Użyłem PHP 5.2 wersje taką jaka jest napisana w książce i również nie działa(

)
Błędy:
CODE
Notice: Undefined variable: instancesBySpecial in C:\xampp\htdocs\ww.php_classes\Page.php on line 51
Warning: array_key_exists() expects parameter 2 to be array, null given in C:\xampp\htdocs\ww.php_classes\Page.php on line 51
(Ten {codebox} coś szwankuje sam dodaje spacje)
Page.php:
<?php
class Page{
function __construct($v,$byField=0,$fromRow=0,$pvq=0){
# byField: 0=ID; 1=Name; 3=special
if (!$byField && is_numeric($v)){ // wg identyfikatora $r=$fromRow?
$fromRow:($v?dbRow
("select * from pages where id=$v limit 1"):array()); }
else if ($byField == 1){ // wg nazwy
$fname='page_by_name_'.md5($name); $r=dbRow
("select * from pages where name like '".addslashes($name)."' limit 1"); }
else if ($byField == 3
&& is_numeric($v)){ // wg pola special $fname='page_by_special_'.$v;
$r=dbRow("select * from pages where special&$v limit 1");
}
else return false;
if(!isset($r['id']))$r['id']=0; if(!isset($r['type']))$r['type']=0; if(!isset($r['special']))$r['special']=0; if(!isset($r['name']))$r['name']='NO NAME SUPPLIED'; foreach ($r as $k=>$v) $this->{$k}=$v;
$this->urlname=$r['name'];
$this->dbVals=$r;
self::$instances[$this->id] =& $this;
self::$instancesBySpecial[$this->special] =& $this;
if(!$this->vars)$this->vars='{}';
$this->vars=json_decode($this->vars);
}
public static function getInstance
($id=0
,$fromRow=false,$pvq=false){ if (!array_key_exists($id,self::$instances)) self::$instances[$id]=new Page
($id,0
,$fromRow,$pvq); return self::$instances[$id];
}
public static function getInstanceByName
($name=''){ if(array_key_exists($nameIndex,self::$instancesByName))return self::$instancesByName[$nameIndex]; self::$instancesByName[$nameIndex]=new Page($name,1);
return self::$instancesByName[$nameIndex];
}
public static function getInstanceBySpecial
($sp=0
){ if (!array_key_exists($sp,$instancesBySpecial)) $instancesBySpecial[$sp]=new Page
($sp,3
); return $instancesBySpecial[$sp];
}
}